Files
play-life/play-life-backend/ENV_SETUP.md
poignatov 7398918bc0
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 57s
Release v1.1.0: Add Telegram and Todoist integrations UI
- 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
2025-12-31 19:11:28 +03:00

76 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Настройка переменных окружения
## Быстрый старт
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 окружений