diff --git a/.forgejo/workflows/deploy.yml b/.forgejo/workflows/deploy.yml index d0736276..599c8804 100644 --- a/.forgejo/workflows/deploy.yml +++ b/.forgejo/workflows/deploy.yml @@ -14,6 +14,7 @@ on: - "Caddyfile" - ".forgejo/workflows/deploy.yml" - "data/sql/**" + - "ops/glitchtip-auth-forwarder/**" workflow_dispatch: concurrency: @@ -248,6 +249,11 @@ jobs: done echo "All migrations applied." + # Build local-only sidecar images (glitchtip-auth-forwarder). + # Эти services не в GHCR — сборка происходит на VPS на каждом deploy. + # Cache-friendly: первый build ~30s, последующие 1-3s если файлы не менялись. + docker compose -p gendesign -f docker-compose.prod.yml build glitchtip-auth-forwarder + docker compose -p gendesign -f docker-compose.prod.yml up -d # backend/.env.runtime изменения (SENTRY_RELEASE, GLITCHTIP_DSN) @@ -264,6 +270,12 @@ jobs: docker compose -p gendesign -f docker-compose.prod.yml up -d \ --force-recreate --no-deps caddy + # Forwarder: force-recreate чтобы новый image / новые env подхватывались. + # Без --force-recreate обычный `up -d` НЕ recreate'ит при image rebuild + # (т.к. image:latest tag не сменился — docker не видит разницы). + docker compose -p gendesign -f docker-compose.prod.yml up -d \ + --force-recreate --no-deps glitchtip-auth-forwarder + # Cleanup old images for repo in ghcr.io/lekss361/gendesign-backend \ ghcr.io/lekss361/gendesign-worker \ diff --git a/docs/runbooks/basic_auth_management.md b/docs/runbooks/basic_auth_management.md index 76f67f7c..4affcd50 100644 --- a/docs/runbooks/basic_auth_management.md +++ b/docs/runbooks/basic_auth_management.md @@ -67,10 +67,30 @@ ssh gendesign 'docker compose -p gendesign restart glitchtip-auth-forwarder' |---|---|---| | `GLITCHTIP_DSN` | Sentry DSN GlitchTip (project backend) | Да | -## Phase 2 — реализовано (PR feat/glitchtip-auth-forwarder) +## Deploy + +Sidecar собирается локально на VPS на каждом запуске `deploy.yml` (после merge в main). +Не требует pre-push image build, не использует GHCR. + +Forwarder контейнер пересоздаётся `--force-recreate` чтобы подхватить новый image при изменении кода. + +В случае sidecar не запустился: + +```bash +ssh gendesign 'docker compose -p gendesign -f docker-compose.prod.yml logs --tail=100 glitchtip-auth-forwarder' +``` + +Если build fail на VPS — проверь `ops/glitchtip-auth-forwarder/Dockerfile` локально: + +```bash +docker build ops/glitchtip-auth-forwarder/ +``` + +## Phase 2 — реализовано (PR #430) GlitchTip forwarder sidecar добавлен в `ops/glitchtip-auth-forwarder/`. Архитектура: Python 3.12 slim, sentry-sdk 2.18, tail live Caddy log, offset в named volume. +Deploy автоматизирован через `deploy.yml` — ручной SSH на VPS не нужен. ## Phase 3 (TODO)