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 :
devvers staging ;mainvers 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
| Environnement | Branche | Staff | Commu | Bot |
|---|---|---|---|---|
| Staging | dev | dev-staff.rilindra.fr | dev-commu.rilindra.fr | Bot staging |
| Production | main | staff.rilindra.fr | commu.rilindra.fr | Bot prod |
Frontières de sécurité
| Frontière | Règle |
|---|---|
| Navigateur vers données | Passer par les routes API |
| Routes API vers DB | Vérifier session et permissions |
| Routes API vers Discord | Token serveur uniquement |
| Routes API vers Coolify | Token serveur uniquement |
| Routes API vers MinIO | Credentials serveur uniquement |
| Documentation | Aucun 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.