Infrastructure

Réseau LAN — 192.168.0.0/24

┌─────────────────────────────────────────────────────────┐
│                  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 :

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

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 :

/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 :

ssh floppyrj45@192.168.0.168

Service systemd dispatcher

Fichier de service : /etc/systemd/system/cosma-qc-dispatcher.service

[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 :

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.

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

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