Documentation officielle du projet

Configurer Cloudflare

Cloudflare héberge six Workers, D1, les Queues, Analytics Engine et les trois sites Pages. Le workflow crée les ressources manquantes ; tu dois seulement fournir le compte, deux tokens et rattacher les domaines après le premier déploiement.

1. Récupérer l’Account ID

  1. Connecte-toi à Cloudflare.Ouvre le compte qui hébergera le projet.
  2. Copie l’Account ID.Il est affiché dans l’aperçu du compte ou dans l’URL du dashboard.
  3. Ajoute-le dans GitHub.Crée le Repository secret CLOUDFLARE_ACCOUNT_ID.

2. Créer le token de déploiement

  1. Ouvre My Profile → API Tokens.Clique sur Create Token puis Create Custom Token.
  2. Nomme-le.Par exemple zevent-bot-github-deploy.
  3. Ajoute les permissions.Account → Workers Scripts → Edit, D1 → Edit, Workers Queues → Edit et Cloudflare Pages → Edit.
  4. Limite les ressources.Sélectionne uniquement le compte Cloudflare du projet.
  5. Crée et copie le token.Cloudflare ne l’affiche qu’une fois. Enregistre-le dans le secret GitHub CLOUDFLARE_API_TOKEN.

3. Créer le token Analytics

  1. Crée un second Custom Token.Ne réutilise pas le token de déploiement dans les Workers.
  2. Ajoute une seule permission.Account → Account Analytics → Read.
  3. Limite-le au même compte.Enregistre sa valeur dans ANALYTICS_READ_TOKEN sur GitHub.
Le token Analytics est distinct

L’API publique et l’API admin utilisent ce token en lecture. Le token de déploiement ne doit jamais être injecté dans une application.

4. Laisser GitHub créer les ressources

Au premier lancement, le workflow prépare automatiquement :

Ne crée pas manuellement CLOUDFLARE_D1_DATABASE_ID : le workflow le découvre et génère la configuration Wrangler de production.

5. Rattacher les domaines

Domaine Type Ressource
https://bot.zevent.app/ Worker Custom Domain zevent-discord-bot
https://api.zevent.app/ Worker Custom Domain zevent-public-api
https://admin-api.zevent.app/ Worker Custom Domain zevent-admin-api
https://zevent.app/ Pages Custom Domain zevent-bot-site
https://admin.zevent.app/ Pages Custom Domain zevent-bot-admin
docs.zevent.app Pages Custom Domain zevent-bot-docs
  1. Pour un Worker.Workers & Pages → Worker → Settings → Domains & Routes → Add → Custom Domain.
  2. Pour Pages.Workers & Pages → projet Pages → Custom domains → Set up a custom domain.
  3. Après changement.Corrige les variables d’URL GitHub et relance le déploiement complet.

6. Activer Web Analytics

Dans le projet Pages public, ouvre Metrics → Web Analytics et active la mesure. Aucun secret supplémentaire n’est nécessaire. Analytics Engine, utilisé pour les statistiques du bot, est différent de Cloudflare Web Analytics et est configuré par les bindings Wrangler.

7. Vérifier les services

curl https://bot.zevent.app/healthz
curl https://api.zevent.app/healthz
curl https://admin-api.zevent.app/healthz

Les trois commandes doivent retourner une réponse HTTP réussie avant de configurer les endpoints Discord.