# 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 ```