ReMind включает две Compose-конфигурации:
docker-compose.dev.ymlдля локальной разработки с hot reload.docker-compose.ymlдля production-like стека с Nginx, Flask, Celery, PostgreSQL и Redis.
Первый запуск:
docker compose -f docker-compose.dev.yml up --buildОбычный запуск после сборки зависимостей:
docker compose -f docker-compose.dev.yml upИли через npm:
npm run docker:devСервисы:
| Сервис | URL / роль |
|---|---|
frontend |
http://127.0.0.1:5173 |
backend |
http://127.0.0.1:5000 |
worker |
Celery worker с Python file watcher |
db |
PostgreSQL 15 |
redis |
Redis 7 с append-only persistence |
Dev stack по умолчанию не читает основной .env. Он выставляет LOAD_DOTENV=false и использует Compose environment values, чтобы production cookie/domain/password настройки не ломали локальную разработку.
Для локальных override можно добавить .env.dev. Это необязательно.
Rebuild нужен после изменения:
package.jsonилиpackage-lock.jsonrequirements*.txt- файлы в
requirements/ Dockerfile.dev- system packages или base image assumptions
Для обычных изменений frontend/backend кода достаточно:
docker compose -f docker-compose.dev.yml upVite отвечает за frontend HMR, Flask перезагружает backend, а scripts/reload_on_change.py перезапускает Celery worker при изменении Python-файлов.
Запуск:
docker compose up --buildСервисы:
| Сервис | Роль |
|---|---|
nginx |
Public HTTP edge и static/API proxy |
app |
Flask application из production image |
worker |
Celery background worker |
db |
PostgreSQL database |
redis |
Sessions, queue broker и runtime cache |
Обязательные environment values:
SECRET_KEY=replace-with-a-long-random-secret
DB_PASSWORD=replace-with-a-strong-db-password
REDIS_PASSWORD=replace-with-a-strong-redis-password
AI_PROVIDER_API_KEY=your-ai-provider-api-key
AI_PROVIDER_MODEL_NAME=your-ai-provider-model
BACKEND_URL=https://your-domain.exampleОпциональные интеграции:
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
TURNSTILE_SITE_KEY=
TURNSTILE_SECRET_KEY=Backend health:
curl http://127.0.0.1:5000/healthNginx health в production-like stack:
curl http://127.0.0.1/healthMetrics:
curl http://127.0.0.1:5000/metricsОстановить dev stack:
npm run docker:dev:downПосмотреть logs:
docker compose -f docker-compose.dev.yml logs -f backend
docker compose -f docker-compose.dev.yml logs -f workerПересобрать dev stack:
npm run docker:dev:buildСбросить dev volumes:
docker compose -f docker-compose.dev.yml down -vКоманда удалит локальные PostgreSQL и Redis данные dev stack.