Un serveur bare metal Ubuntu 26.04 dans le salon. Pas de cloud. Pas de Docker (presque). Un reverse proxy Caddy. Et l’idée que l’infrastructure doit disparaître pour que le travail puisse exister.
Le matériel
Un PC assemblé, trois disques :
nvme0n1— 476 Go, ext4 — système et servicessda— 234 Go, ext4 — caches et téléchargementssdb+sdc— RAID 1 logiciel viamdadm, 931 Go, btrfs — données et sauvegardes
Le RAID 1 est le plancher. Tout ce qui compte y vit ou y est sauvegardé. Le NVMe peut mourir — le serveur redémarre, les données sont intactes.
Les services
Caddy comme reverse proxy. Chaque service accessible en .lan sur le réseau local, en Tailscale depuis l’extérieur. Pas de ports ouverts sur internet.
Les services qui tournent :
- Ollama — modèles de langage locaux (
qwen2.5:14b,llama3.1:8b,qwen2.5-coder:7b) - Open WebUI — interface Ollama
- n8n — automatisations
- Vaultwarden — gestionnaire de mots de passe
- Nextcloud — fichiers
- Immich — photos
- AdGuard Home — DNS et blocage pub
- Ntfy — notifications push
Ollama sur tous les appareils
Un seul serveur Ollama. Tous les clients (Mac, Windows, Linux) accèdent aux modèles via un tunnel SSH permanent :
ssh -N -L 11434:localhost:11434 [email protected]Sur macOS, un LaunchAgent maintient le tunnel actif. Sur Windows, un script .bat relancé par le Task Scheduler. Résultat : localhost:11434 sur n’importe quel appareil pointe vers le serveur. Obsidian, VS Code, tous les plugins IA fonctionnent sans configuration supplémentaire.
Un seul endroit pour ollama pull. Dispo partout instantanément.
Sauvegardes
Trois couches :
| Outil | Heure | Destination |
|---|---|---|
| Restic | 03:00 | RAID 1 — dédup + chiffré |
| rsync | 06:00 | NAS Synology LAN |
| Timeshift | 03:00 | RAID 1 — snapshots système |
Restic sauvegarde le home, les données de tous les services, les configs système. Déduplication, chiffrement, rétention sur 7 jours / 4 semaines / 6 mois. En cas de crash NVMe, le RAID 1 contient tout. En cas de crash RAID, le NAS contient tout. En cas de catastrophe totale, homelab-install est sur GitHub et les données critiques sont dans un second NAS.
Ce blog
Quartz. Zéro PHP, zéro base de données, zéro surface d’attaque. Les notes Obsidian déposées dans un dossier PUBLICATIONS-QUARTZ sont buildées automatiquement et servies via un tunnel Cloudflare. Pas de serveur exposé. SSL géré par Cloudflare.
La citation en bas de page vient de Stratégies Obliques — un oracle musical que j’ai construit pour le projet Robōtariis.
Le principe
L’infrastructure doit être ennuyeuse. Invisible. Elle tourne, elle sauvegarde, elle notifie en cas de problème. Le reste est du travail.
Serveur : Ubuntu 26.04 · Tailscale · Caddy · Restic · Ollama · Quartz