3 Commits

Author SHA1 Message Date
76962ed7f1 ci(deploy): retry compose up once to survive container-recreate races
All checks were successful
Deploy XIP / deploy (push) Successful in 24s
A raced or interrupted previous deploy (e.g. a manual compose up overlapping the automated one) could leave a half-removed container behind, so the next recreate failed with 'removal of container ... is already in progress' (seen on the b25eb44 run, idx15). Prune stopped containers and retry once.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-01 06:58:40 +02:00
Kerboul
8471381048 fix(deploy): passer --env-file au docker compose ps final
Some checks failed
Deploy XIP / deploy (push) Failing after 35s
Sans --env-file, l'interpolation ${POSTGRES_PASSWORD:?} echoue et fait sortir
deploy.sh en non-zero (set -e) -> le job CI serait marque en echec a tort.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-31 15:28:56 +02:00
Kerboul
024909b162 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>
2026-05-31 15:14:53 +02:00