feat(deploy): CI/CD Gitea Actions + stack Docker prod pour xip.kerboul.me
Some checks failed
Deploy XIP / deploy (push) Failing after 21s

- docker-compose.prod.yml: postgres + redis + backend (bun) + web (nginx single-origin)
- backend/Dockerfile + entrypoint: prisma migrate deploy + seed idempotent au boot
- frontend/Dockerfile: build Vite (VITE_API_URL=https://xip.kerboul.me) servi par nginx
- deploy/nginx.conf: proxy /api + /ws vers le backend, SPA fallback
- .gitea/workflows/deploy.yml: auto-deploy SSH sur push main (runner CT121 -> CT502)
- scripts/deploy.sh: pull + rebuild de la stack
- mode open-bar (XIP_OPEN_BAR): paywall off pour tous en prod, via isFree() centralise

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Kerboul
2026-05-31 15:14:36 +02:00
parent 02bba16285
commit 024909b162
17 changed files with 318 additions and 12 deletions

View File

@@ -0,0 +1,14 @@
#!/bin/sh
# Startup sequence for the XIP backend container.
# Runs on every (re)start so new migrations land automatically on deploy.
set -e
cd /app
echo "[xip] Applying database migrations (prisma migrate deploy)…"
bunx prisma migrate deploy
echo "[xip] Seeding catalogue + ads (idempotent upserts)…"
bun run prisma/seed.ts || echo "[xip] seed step failed (non-fatal) — continuing"
echo "[xip] Starting backend on :${PORT:-3000}"
exec bun run src/index.ts