feat(deploy): CI/CD Gitea Actions + stack Docker prod pour xip.kerboul.me
Some checks failed
Deploy XIP / deploy (push) Failing after 21s
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:
14
.env.prod.example
Normal file
14
.env.prod.example
Normal file
@@ -0,0 +1,14 @@
|
||||
# Copy to `.env.prod` on the deploy host (CT502) and fill with real secrets.
|
||||
# `.env.prod` is gitignored — never commit real credentials.
|
||||
|
||||
# Database
|
||||
POSTGRES_DB=xip
|
||||
POSTGRES_USER=xip
|
||||
POSTGRES_PASSWORD=change-me-to-a-strong-secret
|
||||
|
||||
# Public origin (baked into the frontend build + used by the WS URL)
|
||||
PUBLIC_URL=https://xip.kerboul.me
|
||||
|
||||
# Paywall: "true" = open bar (everything free for everyone), "false" = paywall on
|
||||
# (free only on localhost, per the README).
|
||||
XIP_OPEN_BAR=true
|
||||
Reference in New Issue
Block a user