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