Aller au contenu principal

Architecture de l'écosystème

Rilindra est composé de trois produits applicatifs et d'une couche d'infrastructure partagée.

L'objectif de cette page est de clarifier les flux, les responsabilités et les frontières de sécurité.

Principes​

PostgreSQL VPS comme base relationnelle​

Les applications utilisent PostgreSQL sur le VPS.

Les anciennes références à Supabase dans certains noms de fichiers peuvent rester comme compatibilité historique, mais le runtime cible est PostgreSQL VPS.

NextAuth Discord​

Staff Manager et Commu utilisent NextAuth avec Discord.

La couche Staff Manager injecte l'identité Discord dans PostgreSQL via app.discord_id pour les helpers SQL staff.

Infisical comme source des secrets​

Les variables applicatives sont centralisées dans Infisical.

Coolify ne doit pas devenir une source parallèle de vérité, sauf pour le bootstrap nécessaire au runtime.

Coolify comme orchestrateur​

Coolify déploie les applications Git based :

  • dev vers staging ;
  • main vers production.

Les migrations DB ne doivent pas être lancées automatiquement sans validation explicite.

MinIO pour les images​

Les images d'enchères ne doivent pas dépendre du cache CDN Discord.

Le flux cible est :

Discord / upload app -> route API -> MinIO -> URL CDN contrôlée

Bot indépendant mais intégré​

Le bot Discord reste un service Node.js autonome.

Staff Manager peut le piloter via des routes API sécurisées :

  • statut runtime ;
  • redémarrage ;
  • backups ;
  • templates ;
  • notifications test.

Environnements​

EnvironnementBrancheStaffCommuBot
Stagingdevdev-staff.rilindra.frdev-commu.rilindra.frBot staging
Productionmainstaff.rilindra.frcommu.rilindra.frBot prod

Frontières de sécurité​

FrontièreRègle
Navigateur vers donnéesPasser par les routes API
Routes API vers DBVérifier session et permissions
Routes API vers DiscordToken serveur uniquement
Routes API vers CoolifyToken serveur uniquement
Routes API vers MinIOCredentials serveur uniquement
DocumentationAucun secret, uniquement noms de variables

Risques à surveiller​

  • variables dupliquées entre Infisical et Coolify ;
  • migration lancée avant le code compatible ;
  • bot staging qui notifie un salon prod ;
  • images Discord expirées non rapatriées dans MinIO ;
  • pages docs obsolètes après migration ;
  • query client côté navigateur qui cache des données sensibles.

Pages liées​