forgium-website/Idées/SERVEUR_ADMIN_103_PAYMENTER_CLIENT.md

71 lines
3.5 KiB
Markdown

# Fiche Technique Machine Admin : CT 103 - Paymenter Client Portal
*Rôle dans l'écosystème Forgium : Portail client transactionnel, gestion des comptes utilisateurs, boutique en ligne automatisée (0.00 €), passerelle de commande et provisionnement automatique vers Pterodactyl Panel.*
---
## 1. Identité & Réseau
- **ID Conteneur** : `103`
- **Hostname** : `paymenter-client`
- **Type** : Conteneur LXC Debian 12 Bookworm (Non-privilégié, `features: nesting=1`)
- **Adresse IP Statique Locale** : `192.168.1.53/24`
- **Passerelle** : `192.168.1.254` (Bbox Fibre)
- **Domaine Public Sécurisé** : `https://client.forgium.fr` (Routé par Caddy CT 100 vers `192.168.1.53:80`)
- **Statut** : Opérationnel (`running`)
---
## 2. Ressources Matérielles Allouées
- **vCPU** : 2 cœurs (AMD Ryzen 7 3700X)
- **Mémoire RAM** : 2048 Mo (2 Go)
- **Swap** : 512 Mo
- **Stockage SSD** : 15 Go (sur pool Proxmox `local-lvm`)
- **Démarrage automatique** : `onboot=1`
---
## 3. Pile Logicielle & Architecture
- **Serveur Web** : Nginx (`nginx.service`) configuré pour `/var/www/paymenter/public`
- **Moteur PHP** : PHP 8.3-FPM (`php8.3-fpm.service` via Sury PPA Debian 12)
- Modules activés : `curl`, `mbstring`, `xml`, `bcmath`, `zip`, `gd`, `intl`, `pdo_mysql`, `redis`, `igbinary`
- **Base de Données** : MariaDB Server 10.11 (`mariadb.service`)
- Base : `paymenter` (UTF-8 mb4)
- Utilisateur : `paymenter`
- Mot de passe de référence : `ForgiumPay2026Secure`
- **Cache & Sessions** : Redis Server (`redis-server.service` sur `127.0.0.1:6379`)
- **Worker d'Orchestration** : `paymenter.service` (Queue Worker Laravel systemd daemon)
- **Cron Planificateur** : `* * * * * php8.3 /var/www/paymenter/artisan schedule:run` (crontab de www-data)
- **Application Path** : `/var/www/paymenter`
---
## 4. Interconnexion Pterodactyl & Automatisation
- **Serveur Extension Configuré** :
- Nom : `Forgium Pterodactyl Node Cluster`
- URL Panel : `https://panel.forgium.fr`
- Clé Application : Générée avec permissions complètes (`Servers: 3`, `Nodes: 3`, `Allocations: 3`, `Users: 3`, `Locations: 3`, `Nests: 3`, `Eggs: 3`)
- Test de connectivité API : Validé avec succès (`bool(true)`)
- **Catalogue de Produits en Production (0.00 €)** :
1. **Minecraft Paper - Starter Free** (`minecraft-paper-free`) : Nest 1 (Minecraft), Egg 5 (Paper), 1536 Mo RAM, 5 Go NVMe, 1.5 vCPU.
2. **Discord Bot Node.js - 24/7 Free** (`discord-bot-nodejs-free`) : Nest 5 (Discord Bots), Egg 15 (NodeJS), 512 Mo RAM, 2 Go NVMe, 1 vCPU.
3. **Discord Bot Python - 24/7 Free** (`discord-bot-python-free`) : Nest 5 (Discord Bots), Egg 16 (Python), 512 Mo RAM, 2 Go NVMe, 1 vCPU.
- **Workflow de Provisioning Automatique** :
- Dès validation d'une commande gratuite à 0.00 € par un client :
1. Création transparente du compte client sur Pterodactyl (identique e-mail/nom).
2. Création et allocation de port automatique sur `wings-node-01` (CT 102).
3. Déploiement et démarrage du serveur de conteneur.
4. Bouton direct dans l'espace client redirigeant vers `https://panel.forgium.fr/server/{uuid}`.
---
## 5. Commandes de Maintenance Utiles
```bash
# Vérifier l'état des services du portail
pct exec 103 -- systemctl is-active nginx php8.3-fpm mariadb redis-server paymenter
# Exécuter les tâches planifiées manuellement
pct exec 103 -- bash -c "cd /var/www/paymenter && php8.3 artisan schedule:run"
# Consulter les logs d'erreurs
pct exec 103 -- tail -n 50 /var/www/paymenter/storage/logs/laravel-*.log
```