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 интеграции)
|
|
|
|
|
|
|
2025-12-31 19:11:28 +03:00
|
|
|
|
- `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 окружений
|
|
|
|
|
|
|