Migre le domaine vers agora.alxczl.fr et corrige la doc de déploiement
Build and deploy / deploy (push) Successful in 35s

.env.docker.example suit le nouveau domaine. README/CLAUDE.md décrivaient
encore un déploiement Vercel jamais réellement utilisé : corrigés pour
refléter le vrai pipeline self-hosted (Docker Compose + Traefik + CI Gitea
Actions via webhook).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Valentin ROBIN
2026-08-23 22:12:38 +02:00
parent 86756c41da
commit e542b09807
3 changed files with 14 additions and 9 deletions
+12 -6
View File
@@ -28,7 +28,7 @@ Application web pour animer et scorer le jeu **« Le Tribunal »** entre amis pe
| Auth · Base · Stockage · Temps réel | Supabase (Auth, Postgres, Storage, Realtime) |
| Recadrage photo | react-easy-crop + canvas (resize/compression client) |
| Email transactionnel | SMTP custom (ex. Resend) branché sur Supabase Auth |
| Déploiement | Vercel + Supabase (managé) |
| Déploiement | Docker Compose + Traefik (self-hosted) + Supabase (managé) |
---
@@ -37,7 +37,7 @@ Application web pour animer et scorer le jeu **« Le Tribunal »** entre amis pe
- [Node.js](https://nodejs.org/) 20.19+ (Next.js 16 / React 19)
- Un compte [Supabase](https://supabase.com/) (offre gratuite suffisante)
- Un fournisseur SMTP gratuit (ex. [Resend](https://resend.com/), 100 emails/jour) — le service email intégré de Supabase a un rate limit trop bas pour un usage réel
- Un compte [Vercel](https://vercel.com/) pour le déploiement (optionnel en local)
- Pour le déploiement (optionnel en local) : un serveur avec Docker + Traefik déjà en place, voir [Déploiement](#déploiement)
---
@@ -95,11 +95,17 @@ L'application tourne sur [http://localhost:3000](http://localhost:3000).
---
## Déploiement (Vercel)
## Déploiement (Docker + Traefik)
1. Importez le dépôt dans Vercel.
2. Renseignez les variables d'environnement (`NEXT_PUBLIC_SUPABASE_URL`, `NEXT_PUBLIC_SUPABASE_ANON_KEY`).
3. Déployez. Vercel rebuild automatiquement à chaque push sur la branche principale.
Self-hosted, pas de Vercel. Un serveur avec Docker Compose et un reverse proxy [Traefik](https://traefik.io/) déjà en place (réseau externe partagé, voir `TRAEFIK_NETWORK`), plus un pipeline Gitea Actions qui build et déploie automatiquement à chaque push sur la branche principale.
1. Sur le serveur, copiez `.env.docker.example` en `.env.docker` et renseignez :
- `APP_DOMAIN` : le domaine sur lequel l'app doit répondre (utilisé dans le label Traefik `Host(\`${APP_DOMAIN}\`)`).
- `TRAEFIK_NETWORK` : le nom du réseau Docker externe sur lequel Traefik écoute.
- `WEBHOOK_SECRET` : secret partagé avec le workflow Gitea Actions (`openssl rand -hex 16`).
2. `docker compose up -d` démarre le conteneur `app` (Next.js standalone) et le petit serveur webhook (`docker/webhook/receive.py`) qui reçoit les déploiements.
3. Le workflow `.gitea/workflows/deploy.yml` build l'app à chaque push sur `main` et POST le build vers le webhook, qui déclenche un hot-swap (voir `docker/entrypoint.sh`) sans downtime — pas de rebuild manuel nécessaire une fois configuré.
4. **Changer de domaine** : mettez à jour `APP_DOMAIN` dans `.env.docker` sur le serveur, puis recréez le conteneur (`docker compose up -d --force-recreate app`) pour que Traefik prenne en compte le nouveau label `Host()`. Pensez aussi à mettre à jour, côté Supabase Dashboard, **Authentication → URL Configuration** (Site URL + Redirect URLs) et le template d'email d'invitation (logo en dur), sans quoi les liens d'invitation et le logo pointeront encore vers l'ancien domaine.
---