Infrastructure ============== Réseau LAN — 192.168.0.0/24 ----------------------------- .. code-block:: text ┌─────────────────────────────────────────────────────────┐ │ LAN 192.168.0.0/24 │ │ │ │ .82 CORE Dispatcher (systemd) + FastAPI :3849 │ │ Gitea + Grafana + InfluxDB + Caddy │ │ │ │ .84 ml-stack GPU worker RTX 3090 24GB │ │ .87 gpu GPU worker RTX 3060 12GB │ │ │ │ .168 z620 Proxmox host HP Z620 │ │ SSD → /mnt/portablessd (MP4 bruts) │ └─────────────────────────────────────────────────────────┘ Nœud core (.82) ---------------- **Rôle :** orchestrateur central du pipeline. Services actifs : - **Dispatcher** — service systemd cosma-qc-dispatcher. Boucle principale qui dispatch les jobs aux workers GPU. - **Dashboard FastAPI** — conteneur Docker exposé sur le port **3849**. Interface web de monitoring des jobs. - **Gitea** — dépôt source floppyrj45/cosma-qc. - **Grafana / InfluxDB** — monitoring infrastructure. Commandes utiles : .. code-block:: bash # Statut dispatcher sudo systemctl status cosma-qc-dispatcher # Logs dispatcher temps réel sudo journalctl -u cosma-qc-dispatcher -f # Dashboard http://192.168.0.82:3849 Nœuds GPU workers (.84 et .87) -------------------------------- .. list-table:: :header-rows: 1 :widths: 15 25 20 40 * - IP - Nom - GPU - VRAM * - .84 - ml-stack - RTX 3090 - 24 GB * - .87 - gpu - RTX 3060 - 12 GB **Rôle :** exécution de ffmpeg (extraction frames) et lingbot-map (reconstruction 3D). Répertoire de travail sur chaque worker : .. code-block:: text /cosma-qc-frames/ ├── job_1/ │ ├── frame_000001.jpg … frame_NNNNNN.jpg │ ├── .video_0.done │ ├── reconstruction.ply │ └── reconstruction.glb (généré à la demande) ├── job_2/ │ └── … └── stitch_1.ply Nœud z620 (.168) ----------------- **Rôle :** stockage des MP4 bruts GoPro. - Proxmox host HP Z620. - SSD monté sur /mnt/portablessd. - Les MP4 **ne quittent jamais** z620 — ffmpeg s'y exécute via SSH. Accès SSH depuis core : .. code-block:: bash ssh floppyrj45@192.168.0.168 Service systemd dispatcher --------------------------- Fichier de service : /etc/systemd/system/cosma-qc-dispatcher.service .. code-block:: ini [Unit] Description=COSMA QC Dispatcher After=network.target [Service] User=floppyrj45 WorkingDirectory=/home/floppyrj45/docker/cosma-qc ExecStart=/usr/bin/python3 app/dispatcher.py Restart=on-failure RestartSec=10 [Install] WantedBy=multi-user.target Commandes de gestion : .. code-block:: bash sudo systemctl start cosma-qc-dispatcher sudo systemctl stop cosma-qc-dispatcher sudo systemctl restart cosma-qc-dispatcher sudo systemctl enable cosma-qc-dispatcher # démarrage auto Conteneur Docker dashboard --------------------------- Le dashboard FastAPI tourne dans un conteneur Docker. .. code-block:: bash cd /home/floppyrj45/docker/cosma-qc docker compose up -d # démarrer docker compose down # arrêter docker compose logs -f # logs Accès : http://192.168.0.82:3849 Ports réseau récapitulatifs ---------------------------- .. list-table:: :header-rows: 1 :widths: 15 15 70 * - Host - Port - Service * - .82 - 3849 - Dashboard FastAPI cosma-qc * - .84 / .87 - 8100+N - Viser viewer (reconstruction job N) * - .84 / .87 - 8300 - HTTP server GLB export