Изменено: 02.06.2026
В проекте есть production compose-файл docker-compose-prod.yml. Он подключает backend compose-файл и поднимает frontend вместе с backend-инфраструктурой.
Через Docker Compose запускаются:
frontend- web-приложение, доступно на порту5000;backend- FastAPI API, доступно на порту8000;db- PostgreSQL 16, наружу открыт порт5433;migrations- одноразовый контейнер для применения Alembic-миграций;pgadmin- доступен на порту5050.
Команды запускаются из корня репозитория.
Собрать образы:
make buildПересобрать образы без кэша:
make rebuildПоднять контейнеры:
make upОстановить и удалить контейнеры:
make downОстановить контейнеры и удалить volumes с базой и кэшем:
make down-vdown-v удаляет данные PostgreSQL и pgAdmin, потому что volumes тоже будут удалены.
Backend compose-файл использует .env из backend/.
Нужны значения для PostgreSQL и pgAdmin:
DATABASE_NAME=
POSTGRES_USER=
POSTGRES_PASSWORD=
PGADMIN_DEFAULT_EMAIL=
PGADMIN_DEFAULT_PASSWORD=В репозитории нет отдельного nginx-конфига.
Для production-деплоя Nginx можно использовать как внешний reverse proxy перед контейнерами. В таком случае он обычно проксирует:
- frontend на порт
5000; - backend API на порт
8000.
Конкретный nginx-конфиг зависит от домена, TLS-сертификатов и окружения деплоя, поэтому в проектной документации он не зафиксирован как часть текущего compose setup.