2.9 KiB
2.9 KiB
ARCHITECTURE CONTENEURS & TOPOLOGIE DES SERVICES
1. Modèle d'Isolation (LXC vs VM)
Pour tirer le maximum de nos 20 Go de RAM, la quasi-totalité des services tournera dans des conteneurs LXC non privilégiés (consommation mémoire minimale, partage du noyau Linux de l'hôte, overhead quasi-nul par rapport à des VMs KVM complètes).
[ Nœud Physique Proxmox VE - Ryzen 3700X - 20 Go RAM ]
│
├── CT 100 : Reverse Proxy & Pare-Feu (Caddy / CrowdSec) [512 Mo RAM]
│
├── CT 101 : Pterodactyl Panel + Portail Client (Paymenter) [1 Go RAM]
│
├── CT 102 : Base de Données Commune (MariaDB + Redis) [1.5 Go RAM]
│
├── CT 103 : Télémétrie CPL & Monitoring (Uptime Kuma + Prometheus + Grafana) [1 Go RAM]
│
└── VM ou CT 200 : Pterodactyl Wings (Démon Docker d'exécution) [14 Go RAM dynamique]
├── Conteneur Client 1 (Bot Discord Node.js) [512 Mo]
├── Conteneur Client 2 (Bot Discord Python) [512 Mo]
├── Conteneur Client 3 (Site Web / API Flask) [512 Mo]
└── ... (jusqu'à saturation)
2. Rôles et Configuration des Briques
CT 100 — Front-End Web, Sécurité & Certificats
- OS : Alpine Linux ou Debian 12 minimal.
- Serveur Web : Caddy Server (gestion HTTPS 100% automatique via Let's Encrypt, configuration en 5 lignes).
- Protection : CrowdSec installé pour analyser les logs d'accès Caddy et bannir les IP malveillantes via iptables directement sur la machine physique.
- Routage des noms d'hôtes :
client.forgium.fr-> reverse-proxy vers CT 101 port 80/443 (Portail Paymenter).panel.forgium.fr-> reverse-proxy vers CT 101 port 8080 (Pterodactyl Panel).node1.forgium.fr-> reverse-proxy vers VM 200 port 8080 (Wings API).status.forgium.fr-> reverse-proxy vers CT 103 port 3001 (Uptime Kuma public).
CT 101 — Gestion & Portail Utilisateur
- Pterodactyl Panel : Gestionnaire des serveurs, consoles Web, gestion des fichiers clients, gestionnaire de sauvegardes.
- Paymenter : Espace d'inscription public. L'utilisateur crée son compte, choisit l'offre "Bot Bêta Gratuit", et Paymenter déclenche automatiquement la création du serveur sur Pterodactyl via API.
CT 102 — Socle Données
- MariaDB 10.11 : Stocke les bases de données du Panel Pterodactyl, de Paymenter, et des bases de données mises à disposition des utilisateurs bêta.
- Redis : Cache ultra-rapide pour les files d'attente de tâches d'arrière-plan de Pterodactyl.
VM / CT 200 — Pterodactyl Wings (Le Moteur d'Exécution)
- Contient le démon Docker qui fait tourner chaque bot dans une sandbox isolée.
- Quotas stricts imposés à chaque client :
- Limite CPU (ex: 50% d'un cœur).
- Limite RAM (ex: 512 Mo avec swap désactivé ou minime).
- Limite disque (ex: 2 Go sur le SSD 1 To).
- Limite bande passante réseau si nécessaire.