feat(deploy): healthcheck api и worker, отдельный migrate-сервис, лимит загрузки отчёта

Миграции вынесены из команды api в one-shot сервис migrate, api и worker стартуют после него. /health отвечает 503 при недоступной БД. Отчёт больше MAX_UPLOAD_BYTES (25 МиБ) получает 413, Caddy режет на 30 МБ раньше. Том uploads убран, секреты env_file передаются сервисам явно. В CI добавлена сборка образа бэкенда без push, test_migrations сверяет модели с историей Alembic.
This commit is contained in:
Dmitry
2026-09-19 21:55:33 +03:00
parent 600496048f
commit 4a0b4e0532
11 changed files with 139 additions and 21 deletions
+13
View File
@@ -41,6 +41,19 @@ jobs:
uv run fintracker openapi /tmp/openapi.json
diff -u ../openapi/openapi.json /tmp/openapi.json
backend-image:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: docker/setup-buildx-action@v3
# build only (no push): a broken Dockerfile should fail here, not on the VPS
- uses: docker/build-push-action@v6
with:
context: backend
push: false
cache-from: type=gha
cache-to: type=gha,mode=max
app:
runs-on: ubuntu-latest
defaults: