Vrei să-ți deschizi dashboardul Home Assistant din tren. Routerul spune nu: furnizorul te pune în spatele unui NAT de operator sau redirecționarea porturilor e tehnic posibilă, dar ai prefera să nu-ți atârni toată rețeaua de acasă de internet ca să aprinzi un bec. Un VPS mic le rezolvă pe amândouă. Casa ta se conectează spre el prin WireGuard, iar VPS-ul e singura față publică — cu un domeniu real, un certificat real și nimic acasă care să asculte lumea.
Cum funcționează configurarea
phone ──HTTPS──> VPS (Caddy :443) ──WireGuard──> Home Assistant :8123 at home
▲
home box dials out on UDP 51820
VPS-ul rulează două lucruri: un server WireGuard și Caddy ca reverse proxy. Acasă, un client WireGuard (pe hostul Home Assistant, pe un Raspberry Pi sau pe router) ține un tunel deschis. Când vizitezi https://ha.example.com, Caddy trimite cererea prin tunel spre 10.8.0.2:8123.
De ce ai nevoie
- Un plan cu IP dedicat. VPS-ul trebuie să accepte 443 de intrare și UDP 51820. Nano-IP la $8/lună e mai mult decât suficient — mută câțiva kiloocteți de trafic de dashboard și nici nu transpiră. Planurile NAT nu acceptă conexiuni de intrare în afară de portul tău SSH personal (cum funcționează NAT-ul aici).
- Un domeniu cu o înregistrare A spre IP-ul VPS-ului.
- Un client WireGuard acasă, care poate ajunge la Home Assistant în rețeaua locală.
1. Serverul WireGuard pe 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. Partea de acasă
Pe orice mașină Linux de acasă (sau într-un add-on client WireGuard din Home Assistant) creează peer-ul. Keepalive-ul contează: ține tunelul deschis prin NAT-ul routerului de acasă.
[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
Dacă clientul WireGuard rulează pe altă mașină decât Home Assistant, redirecționează 10.8.0.2:8123 spre hostul HA din rețeaua locală — sau, mai simplu, rulează clientul chiar pe hostul HA.
3. HTTPS cu Caddy
cat > /etc/caddy/Caddyfile <<'EOF'
ha.example.com {
reverse_proxy 10.8.0.2:8123
}
EOF
systemctl reload caddy
Caddy ia certificatul automat și se ocupă de conexiunea WebSocket de care depinde aplicația Home Assistant.
4. Spune-i lui Home Assistant să aibă încredere în proxy
Fără asta, HA respinge cererile venite prin proxy. În configuration.yaml:
http:
use_x_forwarded_for: true
trusted_proxies:
- 10.8.0.1
Repornește Home Assistant, deschide https://ha.example.com și setează acel URL ca adresă externă în aplicația mobilă.
Compromisurile cinstite
HTTPS se termină pe VPS, așa că serverul acela vede traficul dashboardului în clar înainte să intre în tunel. E serverul tău, și asta e tot rostul — dar tratează-l ca parte a rețelei de acasă: doar chei SSH, actualizări pornite, nimic altceva care să ruleze pe el. Ține pornite parola proprie a Home Assistant și autentificarea în doi pași; proxy-ul nu e un strat de autentificare.
Serviciul cloud oficial, cu plată, al echipei Home Assistant face aceeași treabă fără nicio întreținere și finanțează proiectul. Dacă preferi să nu rulezi deloc un server, e un răspuns perfect bun. Varianta cu VPS câștigă când găzduiești deja lucruri singur, vrei propriul domeniu sau vrei să pui mai târziu și alte servicii de acasă în spatele aceluiași tunel.
Ghiduri legate
- Configurează un VPN WireGuard pe un VPS — ghidul complet WireGuard
- Reverse proxy Nginx cu HTTPS — dacă preferi Nginx în loc de Caddy
- Securizarea unui VPS nou — fă asta întâi pe orice server expus în internet
Comentarii
Încă nu există comentarii. Fii primul.