Aller au contenu principal

Architecture Globale

FirstBreath est une plateforme de monitoring modulaire et haute performance, distribuée sur plusieurs dépôts et services.

Vue d'ensemble

Choix d'hébergement

CritèreChoixJustification
HébergeurOVH VPS (France)Souveraineté des données (RGPD), latence faible, coût maîtrisé. GPU NVIDIA disponible pour l'inférence IA.
PaaSDokploy (open-source, auto-hébergé)Alternative à Heroku/Vercel sans vendor lock-in. Gestion des déploiements via Git + Docker Compose.
Reverse ProxyTraefik (via Dokploy)Routage dynamique par labels Docker, terminaison TLS automatique (Let's Encrypt), load balancing des API replicas.
ConteneurisationDocker & Docker ComposeReproductibilité, isolation des services, gestion des ressources (CPU/RAM/GPU).

Justification des contraintes client

ContrainteRéponse apportée
BudgetVPS OVH avec engagement mensuel. Outils open-source exclusivement (Dokploy, Traefik, Grafana, SonarQube). Pas de coûts de licence.
SécuritéTLS obligatoire (Let's Encrypt), conteneurs non-root, réseau Docker isolé (internal, monitor-net), audit de dépendances en CI. Voir Sécurité.
ScalabilitéAPI en 2 replicas avec load balancing Traefik. Services Vision indépendants avec limites de ressources configurables. Architecture microservices facilite le scaling horizontal.
Qualité de serviceHealthchecks Docker sur chaque service, restart automatique (unless-stopped / always), monitoring Grafana avec alertes.

Dépôts et technologies

DépôtRôleStack technique
FirstBreath-PlatformMonorepo (Web, Mobile, Docs)TurboRepo, Next.js, Expo, Docusaurus
Control-Hub-BackAPI REST + WebSocketAdonisJS (Node.js), MySQL 8, Redis
firstbreath-visionSystème IA / VisionPython, YOLO, OpenCV CUDA, TensorRT
Firstbreath ShowcaseSite vitrine (legacy → dashboard produit)Next.js, Prisma, MariaDB

Dimensionnement des services

Chaque service est dimensionné via des limites Docker Compose :

ServiceCPU LimitRAM LimitGPUReplicas
API REST1.0512 MB2
WebSocket0.5512 MB1
MySQL 81 GB1
Redis300 MB1
Camera Manager4.02 GB1× NVIDIA1
Batch Inference2.04 GB1× NVIDIA1
Redis Worker0.5256 MB1
CloudBeaver0.5512 MB1
Showcase (Web)1.01 GB1

Réseaux Docker

RéseauTypeRôle
dokploy-networkExternalExpose les services au reverse proxy Traefik
monitor-netExternalCommunication inter-services (Vision ↔ Backend) sans exposition publique
internalBridgeRéseau privé du stack Control-Hub
control-hub-networkBridgeRéseau de développement local