Aller au contenu principal

Staff Manager — configuration

Dépôt : staff-rilindra

Production : staff.rilindra.fr Staging : dev-staff.rilindra.fr

Source de vérité​

SujetSource
SecretsInfisical, chemin projet Staff
DéploiementCoolify
Branchesdev staging, main production
BasePostgreSQL VPS
AuthNextAuth Discord
ImagesMinIO via routes API

Variables principales​

Les valeurs ne doivent pas être copiées dans cette documentation.

VariableRôle
NEXTAUTH_URLURL canonique de l'environnement
NEXTAUTH_SECRETSecret de session
DATABASE_URLConnexion PostgreSQL VPS
DISCORD_CLIENT_IDApplication Discord OAuth
DISCORD_CLIENT_SECRETSecret OAuth Discord
DISCORD_TOKENToken bot si une route serveur doit appeler Discord
DISCORD_GUILD_IDServeur Discord cible
NEXT_PUBLIC_DISCORD_GUILD_IDID public du serveur côté UI
BOT_INTERNAL_API_KEYAuth interne bot si utilisée
INTERNAL_API_SECRETSecret API interne
COOLIFY_API_TOKENPilotage runtime côté serveur
S3_* / MINIO_*Stockage images selon convention du dépôt

Variables à éviter​

Ces variables ne doivent plus être la cible runtime :

VariableStatut
NEXT_PUBLIC_SUPABASE_URLlegacy
NEXT_PUBLIC_SUPABASE_ANON_KEYlegacy
SUPABASE_SERVICE_ROLE_KEYlegacy
SUPABASE_URLlegacy
DISCORD_BOT_TOKENremplacé par DISCORD_TOKEN
VANILLA_*hors périmètre Rilindra actuel

Auth Staff​

Le staff se connecte via Discord.

Le serveur résout ensuite le compte actif dans staff_users via le Discord ID.

Pour les fonctions SQL staff, la session serveur définit :

app.discord_id

Les helpers SQL ne doivent plus dépendre de auth.jwt, auth.uid ou auth.users.

Migrations​

Les migrations sont validées en staging puis appliquées en production après backup.

Ne jamais lancer une migration prod avant :

  1. code prod déployé ;
  2. image prod vérifiée ;
  3. backup DB prod ;
  4. backup des fonctions si nécessaire ;
  5. fenêtre ou accord explicite.

Tests de configuration​

TestRésultat attendu
/tasksRedirection login ou page chargée
db:migrateNo-op si aucune migration en attente
GUC SQLis_active_staff=true pour un staff actif
Logs DBPas de auth.* legacy
Logs appPas de 500 ou erreur session

Pages liées​