Files
play-life/play-life-backend/ENV_SETUP.md
poignatov 7398918bc0
All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 57s
Release v1.1.0: Add Telegram and Todoist integrations UI
- Add telegram_integrations table to store bot token and chat_id
- Add Integrations tab with Todoist and Telegram integration screens
- Remove TELEGRAM_BOT_TOKEN and TELEGRAM_CHAT_ID from env variables
- All Telegram configuration now done through UI
- Telegram webhook registration happens when user saves bot token
- Rename TELEGRAM_WEBHOOK_BASE_URL to WEBHOOK_BASE_URL
2025-12-31 19:11:28 +03:00

2.7 KiB
Raw Permalink Blame History

Настройка переменных окружения

Быстрый старт

  1. Скопируйте файл env.example в .env:

    cp env.example .env
    
  2. Откройте .env и заполните реальные значения:

    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"

Использование в коде

Приложение автоматически читает переменные окружения через os.Getenv().

Для загрузки .env файла в локальной разработке можно использовать:

Вариант 1: Установить переменные вручную

export DB_PASSWORD=your_password
go run main.go

Вариант 2: Использовать библиотеку godotenv (рекомендуется)

  1. Установить библиотеку:

    go get github.com/joho/godotenv
    
  2. Добавить в начало main():

    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 окружений