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