# 📖 Carnet d'Architecture & Mémoire Technique Forgium *Document vivant consignant les choix techniques, configurations d'infrastructures, mots de passe de référence, commandes clés et structure des services.* --- ## 1. Topologie Réseau & Identifiants - **Réseau Local** : `192.168.1.0/24` (Passerelle Bbox : `192.168.1.254`) - **IP Publique** : `31.37.87.78` (Bouygues Fibre 8 Gbps down / 1 Gbps up) - **Pare-feu Bbox** : Mode standard, IPv6 bloqué en entrée, Ping WAN masqué. - **Port-Forwarding (NAT) Bbox** : - `80` (HTTP) $\rightarrow$ `192.168.1.50:80` (CT 100 - Caddy) - `443` (HTTPS) $\rightarrow$ `192.168.1.50:443` (CT 100 - Caddy) --- ## 2. Inventaire des Nœuds & Conteneurs LXC ### Nœud Physique : `PC-FIXE` (`192.168.1.45:8006`) - **CPU** : AMD Ryzen 7 3700X (8C / 16T) - **RAM** : ~19 Go DDR4 - **Cartographie & Rôles des Disques Physiques** : - `sda` (1 To SSD Fanxiang NVMe/SATA - `local-lvm`) : **Stockage Chaud Haute Performance**. Héberge l'OS Proxmox, les rootfs de tous les conteneurs LXC (100, 101, 102, 104) et les données actives des serveurs de jeux pour un chargement instantané sans lag. - `sdd` (500 Go HDD USB Seagate - `/mnt/backup-usb` $\rightarrow$ `backup-externe`) : **Sauvegardes Système VZDump**. Réservé aux snapshots quotidiens des conteneurs complets chaque nuit à 02h00 (rétention 7 jours). - `sdb` (500 Go HDD SATA WD Black - `/mnt/hdd-data-1` $\rightarrow$ `hdd-stockage-1`) : **Stockage Froid Backups Clients**. Dédié aux archives lourdes `.tar.gz` de sauvegardes des serveurs de jeux Pterodactyl (mondes Minecraft, bots) pour préserver le SSD principal. - `sdc` (500 Go HDD SATA WD Black - `/mnt/hdd-data-2` $\rightarrow$ `hdd-stockage-2`) : **Réserve Archivage & Miroir SQL**. Dédié aux dumps SQL MariaDB automatiques, aux images ISO / templates, et prêt pour une future offre de stockage cloud souverain (Nextcloud/S3). ### CT 100 : `reverse-proxy` (`192.168.1.50`) - **Ressources** : 1 vCPU, 512 Mo RAM, 8 Go SSD - **Rôle** : Point d'entrée HTTP/HTTPS unique, gestionnaire de certificats SSL Let's Encrypt automatique. - **Service** : `caddy.service` - **Fichier de config** : `/etc/caddy/Caddyfile` ### CT 101 : `ptero-panel` (`192.168.1.51`) - **Ressources** : 2 vCPU, 2048 Mo RAM, 20 Go SSD, `features: nesting=1,keyctl=1` - **Rôle** : Interface Web de gestion, API d'orchestration, base de données centrale. - **Services** : - `mariadb.service` (DB: `pterodactyl`, User: `pterodactyl`, Pass: `ForgiumPtero2026Secure`) - `redis-server.service` (Sessions & Cache) - `php8.2-fpm.service` + `nginx.service` - `pteroq.service` (Worker de files de tâches Redis) - Cron : `* * * * * php /var/www/pterodactyl/artisan schedule:run` - **Accès Web Local** : `http://192.168.1.51` - **Compte SuperAdmin** : Mathias Zajonz ### CT 102 : `wings-node-01` (`192.168.1.52`) - **Ressources** : 4 vCPU, 4096 Mo RAM, 40 Go SSD, `features: nesting=1,keyctl=1` - **Rôle** : Exécuteur Docker pour les serveurs de jeux et bots. - **Services** : - `docker.service` (Docker Engine 29.8) - `wings.service` (Wings v1.13.3) - **Fichier de config** : `/etc/pterodactyl/config.yml` - **Ports de communication interne** : Daemon `8080`, SFTP `2022` - **Allocations de ports clients** : `25565-25585` (alias public `31.37.87.78`) - **Serveur de test validé** : `Forgium-Test-01` (Minecraft PaperMC) ### CT 104 : `monitoring-stack` (`192.168.1.54`) - **Ressources** : 1 vCPU, 1024 Mo RAM, 10 Go SSD - **Rôle** : Supervision de santé des conteneurs, alertes et métriques. - **Services** : - Node.js 20 LTS - `uptime-kuma.service` (`/opt/uptime-kuma`, port `3001`) --- ## 3. Commandes d'Urgence & Diagnostics Rapides ```bash # Vérifier l'état de tous les conteneurs pct list # Redémarrer les services critiques pct exec 101 -- systemctl restart pteroq nginx php8.2-fpm mariadb redis-server pct exec 102 -- systemctl restart docker wings pct exec 100 -- systemctl restart caddy # Consulter les logs de Wings en cas de souci serveur de jeu pct exec 102 -- journalctl -u wings -n 50 --no-pager ```