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

81 lines
2.7 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.
# Инструкция по сборке единого 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:
```bash
./build-and-save.sh
```
### Windows PowerShell:
```powershell
.\build-and-save.ps1
```
### Вручную:
```bash
# Сборка образа
docker build -t play-life-unified:latest .
# Сохранение в tar
docker save play-life-unified:latest -o play-life-unified.tar
```
## Загрузка образа на другой машине
```bash
docker load -i play-life-unified.tar
```
## Запуск контейнера
```bash
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:
```bash
docker exec play-life cat /var/log/supervisor/backend.out.log
docker exec play-life cat /var/log/supervisor/nginx.out.log
```