All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 57s
- Add telegram_integrations table to store bot token and chat_id - Add Integrations tab with Todoist and Telegram integration screens - Remove TELEGRAM_BOT_TOKEN and TELEGRAM_CHAT_ID from env variables - All Telegram configuration now done through UI - Telegram webhook registration happens when user saves bot token - Rename TELEGRAM_WEBHOOK_BASE_URL to WEBHOOK_BASE_URL
76 lines
2.7 KiB
Markdown
76 lines
2.7 KiB
Markdown
# Настройка переменных окружения
|
||
|
||
## Быстрый старт
|
||
|
||
1. Скопируйте файл `env.example` в `.env`:
|
||
```bash
|
||
cp env.example .env
|
||
```
|
||
|
||
2. Откройте `.env` и заполните реальные значения:
|
||
```bash
|
||
nano .env
|
||
# или
|
||
vim .env
|
||
```
|
||
|
||
3. **ВАЖНО**: Файл `.env` уже добавлен в `.gitignore` и не будет попадать в git.
|
||
|
||
## Переменные окружения
|
||
|
||
### Обязательные (для работы приложения)
|
||
|
||
- `DB_HOST` - хост базы данных (по умолчанию: localhost)
|
||
- `DB_PORT` - порт базы данных (по умолчанию: 5432)
|
||
- `DB_USER` - пользователь БД (по умолчанию: playeng)
|
||
- `DB_PASSWORD` - пароль БД (по умолчанию: playeng)
|
||
- `DB_NAME` - имя БД (по умолчанию: playeng)
|
||
- `PORT` - порт сервера (по умолчанию: 8080)
|
||
|
||
### Опциональные (для Telegram интеграции)
|
||
|
||
- `WEBHOOK_BASE_URL` - базовый URL для автоматической настройки webhook
|
||
- Bot Token и Chat ID настраиваются через UI приложения в разделе "Интеграции" -> "Telegram"
|
||
|
||
## Использование в коде
|
||
|
||
Приложение автоматически читает переменные окружения через `os.Getenv()`.
|
||
|
||
Для загрузки `.env` файла в локальной разработке можно использовать:
|
||
|
||
### Вариант 1: Установить переменные вручную
|
||
```bash
|
||
export DB_PASSWORD=your_password
|
||
go run main.go
|
||
```
|
||
|
||
### Вариант 2: Использовать библиотеку godotenv (рекомендуется)
|
||
|
||
1. Установить библиотеку:
|
||
```bash
|
||
go get github.com/joho/godotenv
|
||
```
|
||
|
||
2. Добавить в начало `main()`:
|
||
```go
|
||
import "github.com/joho/godotenv"
|
||
|
||
func main() {
|
||
// Загрузить .env файл
|
||
godotenv.Load()
|
||
// ... остальной код
|
||
}
|
||
```
|
||
|
||
### Вариант 3: Использовать docker-compose
|
||
|
||
В `docker-compose.yml` уже настроена передача переменных окружения из `.env` файла.
|
||
|
||
## Безопасность
|
||
|
||
- ✅ Файл `.env` добавлен в `.gitignore`
|
||
- ✅ Файл `env.example` содержит только шаблоны без реальных значений
|
||
- ✅ Никогда не коммитьте `.env` в git
|
||
- ✅ Используйте разные токены для dev/prod окружений
|
||
|