Files
play-life/play-life-backend/ENV_SETUP.md

76 lines
2.7 KiB
Markdown
Raw Normal View History

2025-12-29 20:01:55 +03:00
# Настройка переменных окружения
## Быстрый старт
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"
2025-12-29 20:01:55 +03:00
## Использование в коде
Приложение автоматически читает переменные окружения через `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 окружений