Vous voulez ouvrir le tableau de bord Home Assistant depuis le train. Votre box refuse : le fournisseur vous place derrière du CGNAT, ou la redirection de port est techniquement possible mais vous n'avez pas envie d'exposer tout votre réseau domestique pour allumer une lampe. Un petit VPS règle les deux problèmes. Votre maison se connecte vers l'extérieur en WireGuard, et le seul visage public, c'est ce serveur — avec un vrai domaine, un vrai certificat, et aucun port de la maison à l'écoute du monde.
Comment ça fonctionne
phone ──HTTPS──> VPS (Caddy :443) ──WireGuard──> Home Assistant :8123 at home
▲
home box dials out on UDP 51820
Le VPS fait tourner deux choses : un serveur WireGuard et Caddy en reverse proxy. À la maison, un client WireGuard (sur l'hôte Home Assistant, un Raspberry Pi ou votre routeur) garde le tunnel ouvert. Quand vous ouvrez https://ha.example.com, Caddy transmet la requête dans le tunnel vers 10.8.0.2:8123.
Ce qu'il vous faut
- Une offre avec IP dédiée. Le VPS doit accepter le 443 entrant et l'UDP 51820. Nano-IP à 8 $/mois est largement suffisant — il transporte quelques kilo-octets de trafic de tableau de bord sans broncher. Les offres NAT n'acceptent aucune connexion entrante hormis votre port SSH personnel (le fonctionnement du NAT ici).
- Un domaine avec un enregistrement A vers l'IP du VPS.
- Un client WireGuard à la maison capable de joindre Home Assistant sur le réseau local.
1. Serveur WireGuard sur le VPS
apt update && apt install -y wireguard caddy
wg genkey | tee /etc/wireguard/server.key | wg pubkey > /etc/wireguard/server.pub
chmod 600 /etc/wireguard/server.key
cat > /etc/wireguard/wg0.conf <<EOF
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = $(cat /etc/wireguard/server.key)
[Peer]
# the home side
PublicKey = HOME_PUBLIC_KEY
AllowedIPs = 10.8.0.2/32
EOF
systemctl enable --now wg-quick@wg0
ufw allow 51820/udp && ufw allow 80,443/tcp
2. Côté maison
Sur n'importe quelle machine Linux à la maison (ou dans un module complémentaire client WireGuard pour Home Assistant), créez le pair. Le keepalive compte : il maintient le tunnel ouvert à travers le NAT de votre box.
[Interface]
Address = 10.8.0.2/24
PrivateKey = HOME_PRIVATE_KEY
[Peer]
PublicKey = SERVER_PUBLIC_KEY
Endpoint = ha-vps.example.com:51820
AllowedIPs = 10.8.0.1/32
PersistentKeepalive = 25
Si le client WireGuard tourne sur une autre machine que Home Assistant, redirigez 10.8.0.2:8123 vers l'hôte HA sur le réseau local — ou plus simple : installez le client directement sur l'hôte HA.
3. HTTPS avec Caddy
cat > /etc/caddy/Caddyfile <<'EOF'
ha.example.com {
reverse_proxy 10.8.0.2:8123
}
EOF
systemctl reload caddy
Caddy récupère le certificat automatiquement et gère la connexion WebSocket dont dépend l'application Home Assistant.
4. Faire confiance au proxy dans Home Assistant
Sans cela, HA rejette les requêtes relayées. Dans configuration.yaml :
http:
use_x_forwarded_for: true
trusted_proxies:
- 10.8.0.1
Redémarrez Home Assistant, ouvrez https://ha.example.com, puis indiquez cette URL comme adresse externe dans l'application mobile.
Les compromis, honnêtement
Le HTTPS se termine sur le VPS : ce serveur voit donc votre trafic de tableau de bord en clair avant qu'il entre dans le tunnel. C'est votre serveur, c'est tout l'intérêt — mais traitez-le comme une partie de votre réseau domestique : clés SSH uniquement, mises à jour activées, rien d'autre dessus. Gardez le mot de passe et la double authentification de Home Assistant : le proxy n'est pas une couche d'authentification.
Le service cloud officiel et payant de l'équipe Home Assistant fait le même travail sans aucune maintenance et finance le projet. Si vous préférez ne pas gérer de serveur du tout, c'est une très bonne réponse. La voie du VPS l'emporte quand vous hébergez déjà vos services, voulez votre propre domaine ou comptez placer d'autres services de la maison derrière le même tunnel.
Guides utiles
- Installer un VPN WireGuard sur un VPS — le pas-à-pas WireGuard complet
- Reverse proxy Nginx avec HTTPS — si vous préférez Nginx à Caddy
- Sécuriser un nouveau VPS — à faire en premier sur toute machine exposée à Internet
Commentaires
Pas encore de commentaires. Soyez le premier.