Serveur
Accès à distance
Accéder à la maison depuis l’extérieur, en sécurité.
Règle de base : un serveur hébergé sur Internet n'a pas accès aux radios USB (coordinateur Zigbee, radio Thread, Bluetooth) ni au réseau local de votre maison (mDNS, IPv6 local de Matter, appareils MQTT et Wi-Fi). Les intégrations doivent donc tourner à la maison.
Les trois scénarios
1. Installation entièrement locale (déploiement actuel)
[Maison] Serveur My Habita (moteur, Zigbee2MQTT, Matter, MQTT, nginx) ── appareils
- Tout tourne à la maison : intégrations, automatisations, alarme, chauffage, historique, interface.
- Sans Internet, tout continue de fonctionner, sauf : les notifications vers ntfy.sh ou d'autres services externes, la vérification en ligne des certificats Matter (DCL, une copie hors ligne est embarquée), les mises à jour OTA Matter, et la synchronisation de l'heure (NTP). L'horloge de la VM reste juste à court terme.
- Accès uniquement depuis le réseau local.
2. Installation locale avec accès distant sécurisé (recommandé pour sortir de chez soi)
[Téléphone hors de la maison] ══ tunnel chiffré ══ [Maison] serveur My Habita
Rien ne change sur le fonctionnement : tout reste à la maison. Seul l'accès est étendu. Options, de la plus simple à la plus maîtrisée :
| Option | Principe | Remarques |
|---|---|---|
| Tailscale (ou Headscale auto-hébergé) | VPN maillé WireGuard, sans ouvrir de port | Le plus simple ; dépend d'un service de coordination (sauf Headscale) |
| WireGuard sur la box ou le serveur | VPN vers votre réseau, un seul port UDP ouvert | Totalement maîtrisé ; nécessite une IP publique ou un DynDNS |
| Proxy inverse public (Cloudflare Tunnel…) | Interface exposée sur Internet derrière un tiers | Déconseillé pour une alarme et des serrures : surface d'attaque élevée, dépendance à un tiers |
Avec un VPN, utilisez https:// et le certificat local (voir docs/exploitation.md). N'ouvrez jamais directement les ports 80, 443 ou 1883 sur Internet.
3. Serveur distant associé à une passerelle locale
[Hébergement distant] interface, tableau de bord, copie de l'historique ⇄ [Maison] passerelle : intégrations, automatisations
- La passerelle locale reste indispensable : coordinateur Zigbee, Matter, MQTT local, et surtout automatisations, alarme et chauffage, pour continuer à fonctionner sans Internet.
- Le serveur distant ne serait qu'une vitrine (tableaux de bord, historique, notifications) reliée à la passerelle par un lien sortant chiffré (WireGuard, ou MQTT sur TLS avec pont de broker).
- Ce scénario n'est pas implémenté dans cette version. L'architecture s'y prête : API v1 et WebSocket, et Mosquitto sait faire des ponts entre brokers. Il n'apporte rien tant qu'un VPN (scénario 2) suffit.
Votre hébergement Plesk
Ce qui a été vérifié dans la documentation officielle (le 18/10/2026) :
- Plesk exécute les applications Node.js via Phusion Passenger. Passenger démarre l'application à la première requête et arrête les processus inactifs (5 min par défaut). Il impose un seul serveur HTTP, sans port libre.
- L'extension Docker n'existe que si l'administrateur Plesk l'a installée, en pratique sur un VPS ou un serveur dédié et non sur un hébergement mutualisé.
- Plesk ne documente ni la durée de vie des processus, ni les connexions sortantes, ni les ports sur un hébergement mutualisé : cela dépend de l'hébergeur.
Conséquences :
| Usage sur Plesk | Faisable ? |
|---|---|
| Faire tourner le moteur My Habita (processus permanent, automatisations, alarme) | Non sous Passenger : les processus sont arrêtés quand personne ne visite le site. Envisageable seulement sur un VPS ou serveur dédié avec Docker ou un accès root, et toujours sans accès aux radios de la maison. |
| Héberger les intégrations Zigbee, Matter ou MQTT local | Non : elles doivent être dans la maison. |
| Page statique (documentation, page d'accueil) ou relais de notifications (ntfy auto-hébergé, si l'hébergeur autorise un processus permanent) | Oui, sous réserve des capacités réelles de votre offre. |
| Serveur distant du scénario 3 | Seulement sur une offre avec processus permanents (VPS) ; non nécessaire aujourd'hui. |
Avant tout projet sur Plesk, vérifiez sur votre offre :
- la présence de l'extension Docker ou d'un accès SSH root ;
- le maintien des processus Node.js (réglage
passenger_min_instances,PassengerPoolIdleTime 0, non garanti selon les retours d'utilisateurs) ; - les connexions sortantes autorisées ;
- les WebSocket à travers le proxy.
Plesk n'est pas une dépendance du déploiement actuel.
Ce qui continue de fonctionner sans Internet (scénarios 1 et 2)
| Fonction | Sans Internet |
|---|---|
| Interface sur le réseau local, commandes, états en direct | ✅ |
| Zigbee, MQTT local, Matter (Wi-Fi, Ethernet, Thread) | ✅ (la mise en service Matter vérifie les certificats sur une copie hors ligne) |
| Automatisations, scènes, chauffage, alarme et notifications dans l'interface | ✅ |
| Lever et coucher du soleil | ✅ (calcul local) |
| Notifications vers ntfy.sh ou un webhook externe | ❌ (ntfy auto-hébergé sur le réseau local : ✅) |
| Accès depuis l'extérieur | ❌ (par définition) |
| Mises à jour (My Habita, Zigbee2MQTT, Matter, Debian) | ❌ |