# Déploiement VPS via Docker Compose

ElectriCore tourne en production sur un VPS unique avec une stack `docker-compose` ([deploy/docker/](../../deploy/docker/)) : conteneur API (FastAPI), conteneur bot (Telegram), conteneur scheduler (cron → appels HTTP vers `/etl/run`), reverse-proxy Caddy avec TLS automatique. Pas d'alternative sérieusement évaluée — c'était l'évidence pour un opérateur solo. PaaS managé écarté (volumes persistants pour DuckDB, mode SFTP collocé), Kubernetes écarté (sur-dimensionné pour 4 conteneurs sur une machine).

## Limites à connaître avant un changement d'échelle

- **VPS unique** : pas de haute dispo, pas de réplication. Une panne du VPS = indisponibilité totale jusqu'au redémarrage.
- **Volume DuckDB local** : la base vit sur le disque du VPS. Sauvegardes nocturnes via `EXPORT DATABASE` (voir [docs/deploiement.md](../deploiement.md)) ; restauration manuelle.
- **Mono-tenant par stack** : un déploiement = un fournisseur. Multi-tenant applicatif (1 stack, plusieurs fournisseurs en isolation logique) n'est pas l'approche retenue — cf. [ADR-0015](0015-deploiement-multi-instance.md), qui acte le modèle « un VPS par instance » pour servir plusieurs fournisseurs.
