| title |
type |
created |
owner |
agent |
status |
tags |
related |
| Config VPS — Snapshot 17 avril 2026 |
log |
2026-04-17 |
jerem |
DAEMON |
active |
| infra |
| vps |
| config |
| snapshot |
|
|
Config VPS — 17 avril 2026
Snapshot de l'état du VPS après Phase 1-6 + audit sécurité/stabilité.
Serveur
| Élément |
Valeur |
| Hébergeur |
Hostinger — VPS dédié |
| OS |
Ubuntu 22.04.5 LTS |
| Kernel |
5.15.0-176-generic |
| CPU |
AMD EPYC 9354P — 2 cores |
| RAM |
7.8 GB |
| Swap |
4 GB |
| Disque |
97 GB (15% utilisé) |
| IP publique |
76.13.42.203 |
| IP VPN |
10.66.66.1 |
| SSH |
Port 2222, clé uniquement, root désactivé |
| Domaine |
jeremunlimited.com (DNS OVH) |
| Wildcard DNS |
*.jeremunlimited.com → 76.13.42.203 |
Accès
Services Docker
| Container |
Image |
Port interne |
Restart |
Réseau |
| gitea |
gitea/gitea:1.22 |
3000 |
always |
coolify + internal |
| gitea-db |
postgres:16-alpine |
5432 |
always |
internal |
| n8n |
n8nio/n8n:latest |
5678 |
always |
coolify |
| whisper |
fedirz/faster-whisper-server:latest-cpu |
8000 |
always |
coolify |
| uptime-kuma |
louislam/uptime-kuma:1 |
3001 |
always |
coolify |
| coolify |
coolify:4.0.0-beta.473 |
8080 |
always |
coolify |
| coolify-proxy |
traefik:v3.6 |
80/443 |
unless-stopped |
coolify |
| coolify-sentinel |
sentinel:0.0.21 |
— |
always |
coolify |
| coolify-db |
postgres:15-alpine |
5432 |
always |
coolify |
| coolify-redis |
redis:7-alpine |
6379 |
always |
coolify |
| coolify-realtime |
coolify-realtime:1.0.13 |
6001-6002 |
always |
coolify |
Sécurité
| Mesure |
Status |
| SSH port 2222 (port 22 fermé) |
✅ |
| Root login désactivé (sauf Docker local) |
✅ |
| Password auth désactivé |
✅ |
| Fail2ban sur sshd |
✅ |
| WireGuard VPN (split tunnel) |
✅ |
| UFW firewall (deny par défaut) |
✅ |
| HTTPS Let's Encrypt sur tous les services |
✅ |
| Unattended security upgrades |
✅ |
| Kernel à jour |
✅ |
Ports ouverts (UFW)
| Port |
Protocole |
Usage |
| 2222/tcp |
ALLOW |
SSH |
| 51820/udp |
ALLOW |
WireGuard |
| 22/tcp |
ALLOW 10.0.0.0/24, 10.0.1.0/24, 76.13.42.203 |
Coolify interne |
| 6001, 6002, 8080 |
DENY |
Bloqués par UFW (note: Docker bypass UFW) |
Limitation connue
Docker manipule iptables directement et bypass UFW. Les ports 6001/6002/8080/8000 exposés par Coolify restent techniquement accessibles depuis l'extérieur malgré les règles DENY. Risque limité car ces services requièrent une authentification.
Stabilité
| Mesure |
Status |
| Swap 4 GB |
✅ |
Restart policy always sur tous les containers |
✅ |
| Log rotation Docker (10MB × 3 fichiers) |
✅ |
| Backup quotidien 3h00 UTC (rétention 7 jours) |
✅ |
| Backup path |
/home/jerem/backups/ |
| Backup script |
/home/jerem/daemon-infra/backup.sh |
Fichiers clés sur le VPS
/home/jerem/
├── daemon-infra/
│ ├── docker-compose.yml # Tous les services DAEMON
│ ├── .env # GITEA_DB_PASS
│ ├── backup.sh # Script backup quotidien
│ ├── gitea/ # Data Gitea + PostgreSQL
│ ├── n8n/ # Data n8n
│ ├── uptime-kuma/ # Data Uptime Kuma
│ ├── whisper/ # Modèles Whisper
│ └── openclaw/ # OpenClaw (installé, pas configuré)
├── backups/ # Backups quotidiens
└── .ssh/ # Clés SSH
WireGuard
| Élément |
Valeur |
| VPS (serveur) |
10.66.66.1, port 51820 |
| Mac (client) |
10.66.66.2 |
| Mode |
Split tunnel (seul le trafic 10.66.66.x passe par le VPN) |
| Config VPS |
/etc/wireguard/wg0.conf |
Traefik (reverse proxy)
- Géré par Coolify (container coolify-proxy)
- Certificats Let's Encrypt automatiques (HTTP challenge)
- Config dynamique : /data/coolify/proxy/dynamic/
- Coolify routé via fichier
coolify-domain.yaml (nom container, pas IP)
- Nos services routés via labels Docker dans docker-compose.yml
Ce qui reste à faire
Généré automatiquement par DAEMON — session du 17 avril 2026
Addendum — Hardening Docker (même session)
Problème résolu
Docker bypass UFW en manipulant iptables directement. Les ports Coolify (8000, 8080, 6001, 6002) et nos services (3000, 3001, 5678) étaient accessibles depuis internet malgré les règles UFW DENY.
Solution
Règles iptables dans la chaîne DOCKER-USER (la seule que Docker respecte) :
Autorisé :
- Ports 80/443 depuis partout (Traefik HTTPS + Let's Encrypt)
- Tout trafic depuis le VPN (10.66.66.0/24)
- Tout trafic Docker interne (10.0.0.0/8, 172.16.0.0/12)
- Port 22 (Gitea SSH) depuis le VPN uniquement
Bloqué (DROP) depuis internet :
- Port 8000 (Coolify)
- Port 8080 (Traefik dashboard)
- Port 6001/6002 (Coolify Realtime)
- Port 5678 (n8n)
- Port 3000 (Gitea)
- Port 3001 (Uptime Kuma)
Persistance
iptables-persistent installé, règles sauvegardées → survivent au reboot.
Résultat
- Accès direct IP:port depuis internet → timeout (DROP) ✅
- Accès HTTPS via domaines → fonctionne ✅ (Traefik route en interne)
- Accès VPN → fonctionne ✅
Risque résiduel : 0 — Seuls les ports 80/443 (Traefik) et 2222 (SSH) sont accessibles depuis internet. Tout le reste est DROP.