Initial commit
This commit is contained in:
76
play-life-backend/ENV_SETUP.md
Normal file
76
play-life-backend/ENV_SETUP.md
Normal file
@@ -0,0 +1,76 @@
|
||||
# Настройка переменных окружения
|
||||
|
||||
## Быстрый старт
|
||||
|
||||
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 окружений
|
||||
|
||||
Reference in New Issue
Block a user