Files
play-life/BUILD_INSTRUCTIONS.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 Blame History

Инструкция по сборке единого Docker образа

Этот проект содержит единый Dockerfile для сборки frontend и backend в один образ.

Структура

  • Dockerfile - единый Dockerfile для сборки frontend и backend
  • nginx-unified.conf - конфигурация nginx для единого образа
  • supervisord.conf - конфигурация supervisor для запуска nginx и backend
  • build-and-save.sh - скрипт для сборки и сохранения в tar (Linux/Mac)
  • build-and-save.ps1 - скрипт для сборки и сохранения в tar (Windows PowerShell)

Сборка образа

Linux/Mac:

./build-and-save.sh

Windows PowerShell:

.\build-and-save.ps1

Вручную:

# Сборка образа
docker build -t play-life-unified:latest .

# Сохранение в tar
docker save play-life-unified:latest -o play-life-unified.tar

Загрузка образа на другой машине

docker load -i play-life-unified.tar

Запуск контейнера

docker run -d \
  -p 80:80 \
  --env-file .env \
  --name play-life \
  play-life-unified:latest

Переменные окружения

Создайте файл .env на основе env.example с необходимыми переменными:

  • DB_HOST - хост базы данных (по умолчанию: localhost)
  • DB_PORT - порт базы данных (по умолчанию: 5432)
  • DB_USER - пользователь БД
  • DB_PASSWORD - пароль БД
  • DB_NAME - имя БД
  • WEBHOOK_BASE_URL - базовый URL для webhook (опционально)
    • Bot Token и Chat ID настраиваются через UI приложения в разделе "Интеграции" -> "Telegram"
  • TODOIST_WEBHOOK_SECRET - секрет для Todoist webhook (опционально)

Важно: Backend внутри контейнера всегда работает на порту 8080. Nginx проксирует запросы с порта 80 на backend.

Проверка работы

После запуска контейнера:

  • Frontend доступен по адресу: http://localhost
  • API доступен через nginx: http://localhost/api/...
  • Admin панель: http://localhost/admin.html

Логи

Логи доступны через supervisor:

docker exec play-life cat /var/log/supervisor/backend.out.log
docker exec play-life cat /var/log/supervisor/nginx.out.log