Files
play-life/play-life-backend/ENV_SETUP.md
2025-12-29 20:01:55 +03:00

77 lines
2.6 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 интеграции)
- `TELEGRAM_BOT_TOKEN` - токен бота от @BotFather
- `TELEGRAM_CHAT_ID` - ID чата для отправки сообщений
## Использование в коде
Приложение автоматически читает переменные окружения через `os.Getenv()`.
Для загрузки `.env` файла в локальной разработке можно использовать:
### Вариант 1: Установить переменные вручную
```bash
export DB_PASSWORD=your_password
export TELEGRAM_BOT_TOKEN=your_token
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 окружений