Hassler Platform
Un runtime personnel durable : un VPS unique, un reverse proxy lisible, des services conteneurisés, PostgreSQL comme cœur (à venir), un monolithe modulaire par domaines. La complexité n'entre que lorsqu'elle résout une douleur présente, répétée et observable.
Cette page est la vue interactive de la documentation ; la source de vérité est le markdown du repo (blueprint, ADRs, runbooks, journal d'exploitation).
02Topologie actuelle
Trois ports publics (22, 80, 443). Les conteneurs n'écoutent qu'en loopback : seul Caddy est joignable depuis Internet.
flowchart LR I((Internet)) --> DNS[DNS OVH
hassler.fr] DNS --> FW[UFW
80 / 443] FW --> C[Caddy
HTTPS auto] C -->|hello.hassler.fr| H["/var/www/hello
statique, sur l'hôte"] C -->|louison.hassler.fr| L[conteneur louison
127.0.0.1:3100] C -->|docs.hassler.fr| D[conteneur docs
127.0.0.1:3101] subgraph VPS["VPS-3 · Ubuntu 26.04 · Gravelines"] FW; C; H subgraph Docker["Docker Compose · /opt/hassler"] L; D end end
03Déploiement (niveau 1)
Le repo est la source de vérité. Une commande :
./infra/scripts/deploy.sh. Jamais d'édition à la main sur le
serveur.
sequenceDiagram participant M as Mac (repo git) participant V as VPS /opt/hassler participant D as Docker participant C as Caddy M->>V: rsync compose.yaml + apps/ M->>V: rsync Caddyfile V->>D: docker compose up -d --build D-->>V: images immuables, conteneurs up V->>C: caddy validate + reload C-->>M: HTTPS 200 sur chaque sous-domaine
04Roadmap
30 milestones dans le blueprint. En vert : accompli.
flowchart LR A[1-5
VPS · SSH
firewall]:::done --> B[6
Caddy
HTTPS]:::done B --> C[7-8
Docker
1re app]:::done C --> D[9
PostgreSQL]:::done D --> E[10-11
irish] E --> F[12-15
files · jobs
search] F --> G[16-18
chat
realtime] G --> H[19-23
CI/CD
observabilité] H --> I[24-30
auth · IA
agents] classDef done fill:#3f8e5c,stroke:#2e6b45,color:#fff
05Décisions d'architecture
ADR-0001 · OVH VPS-3accepté
6 vCores, 12 Go, 100 Go NVMe à Gravelines. Le stockage est une
ressource fondatrice (domaine files) et l'upgrade OVH est
un aller simple : autant couvrir toute la roadmap d'emblée pour
~3 €/mois de plus que le VPS-2.
ADR-0002 · Ubuntu Server 26.04 LTSaccepté
Meilleure documentation serveur + guides OVH + support jusqu'en 2031. Debian 13 écartée de peu ; la fraîcheur de la 26.04 est un risque faible pour un socle headless minimal.
ADR-0003 · Monorepo privé GitHubaccepté
Un seul repo pour apps, capacités, infra et docs : le pendant
naturel du monolithe modulaire, et le meilleur contexte pour les
agents de code. Extraction possible plus tard via
git filter-repo.
ADR-0004 · Orchestration agents + XStateproposé
Fable orchestrateur, Opus codeur, modèles routés par complexité. Côté applicatif : XState v5 comme moteur de workflows — la machine à états route et valide, le LLM comprend, jamais l'inverse.