77 lines
2.6 KiB
Markdown
77 lines
2.6 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 интеграции)
|
||
|
||
- `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 окружений
|
||
|