All checks were successful
Build and Push Docker Image / build-and-push (push) Successful in 57s
- 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
81 lines
2.7 KiB
Markdown
81 lines
2.7 KiB
Markdown
# Инструкция по сборке единого 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
|
||
```
|
||
|