172 lines
4.2 KiB
ReStructuredText
172 lines
4.2 KiB
ReStructuredText
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
|