Aller au contenu principal

tailscale

tailscale

tailscale

Market →

Accès distant sécurisé à Jeedom via Tailscale. VPN mesh WireGuard zero-config, gestion complète du tailnet depuis Jeedom.

Jeedom 4.4+betaos 11+php 7.4/8.x

🔐 Plugin Tailscale pour Jeedom

Le plugin Tailscale transforme Jeedom en passerelle VPN securisee pour toute votre infrastructure. Plus besoin d'ouvrir de port, de configurer un NAT ou de maintenir un VPN — Tailscale etablit un tunnel WireGuard chiffre entre vos appareils, automatiquement.


💡 Pourquoi utiliser ce plugin ?

Acces distant securise — sans rien ouvrir

Plus besoin de port 443, de NAT, de redirection de ports, de VPN OpenVPN ou de WireGuard manuel. Chaque appareil rejoint le tailnet et Jeedom devient directement accessible.

Acces de secours — quand tout le reste tombe

Si votre DNS tombe, que Cloudflare est HS, que votre reverse proxy est casse, que votre box redemarrer ou qu'un certificat SSL expire : activez simplement Tailscale sur votre telephone et accedez immediatement a Jeedom. C'est probablement l'un des plus gros avantages du plugin.

Securisation totale

Aucune exposition publique. Jeedom n'est plus visible sur Internet. Seuls les appareils de votre tailnet peuvent communiquer.

Passerelle vers tout votre reseau local

C'est la fonctionnalite la plus puissante. Grace au Subnet Router, au lieu d'acceder uniquement a Jeedom, vous accedez a tout votre reseau local :

Telephone / PC portable (4G, Wi-Fi exterieur...)
|
Tailnet (chiffre WireGuard)
|
Jeedom (Subnet Router)
|
Reseau local 192.168.1.0/24
├── Cameras IP
├── NAS Synology
├── Imprimantes
├── Routeur / Switch
├── Home Assistant
├── Proxmox
├── Raspberry Pi
└── Tout autre equipement IP

Depuis votre telephone en 4G, vous pouvez ouvrir l'interface d'une imprimante, acceder a un NAS, consulter une camera IP, administrer Proxmox, se connecter en SSH a un Raspberry — sans VPN supplementaire, sans port ouvert.

Ce que cela change par rapport a un VPN classique
  • Installation en quelques minutes
  • Aucune ouverture de port
  • Traversee automatique du NAT
  • Chiffrement WireGuard
  • Fonctionne depuis smartphone, tablette ou PC
  • Gestion centralisee directement dans Jeedom

HTTPS automatique et acces public

Avec Tailscale Serve, Jeedom est accessible en HTTPS sur votre tailnet avec un certificat automatique — pas besoin de configurer un reverse proxy ou un certificat Let's Encrypt. Pour aller plus loin, Funnel peut rendre Jeedom accessible depuis Internet, toujours en HTTPS, avec double confirmation de securite.

Administration complete depuis Jeedom

Depuis l'interface du plugin, vous pouvez :

  • Installer et connecter Tailscale
  • Surveiller l'etat de tous les appareils du tailnet
  • Activer Serve / Funnel, Tailscale SSH, gerer les routes, les tags
  • Recevoir des notifications (expiration des cles, nouveaux appareils, problemes)
  • Consulter un diagnostic reseau complet
  • Autoriser ou supprimer un appareil
  • Mettre a jour Tailscale depuis l'interface

📊 En resume

Pour JeedomPour toute l'infrastructure
Acces distant securisePasserelle vers le reseau local (Subnet Router)
Acces de secours (DNS, reverse proxy...)Acces a tous les equipements (NAS, cameras, Proxmox...)
HTTPS automatique (Serve) et acces public (Funnel)Sans ouvrir le moindre port
Notifications proactives (cles, nouveaux appareils)Chiffrement WireGuard de bout en bout
Gestion des appareils, tags, routes, SSHDepuis n'importe quel appareil du tailnet

⚙️ Prerequis

Obligatoires

  • Jeedom 4.4 minimum
  • Debian 11 a 13
  • Acces root (sudo) pour installer et administrer Tailscale
  • Connexion Internet lors de l'installation
  • Un compte Tailscale (gratuit ou payant)

Pour les fonctions avancees (API OAuth)

Un OAuth Client ID / Secret (console Tailscale) est necessaire pour :

  • Gestion des appareils (autoriser, supprimer)
  • Tags et expiration des cles
  • Routes et Subnet Router
  • Tailscale SSH
  • Notifications d'expiration des cles
  • Informations detaillees

Pour le Subnet Router

  • Activer l'IP Forwarding sur la machine Jeedom
  • Autoriser les routes dans la console Tailscale
  • Les reseaux a annoncer doivent etre connus (ex: 192.168.1.0/24)

✨ Ce que vous pouvez faire

Accedez a Jeedom depuis n'importe ou, en toute securite.

  • Acces HTTPS a Jeedom via le tailnet avec certificat automatique (Serve)
  • MagicDNS : accedez via https://jeedom.tail1234.ts.net
  • Acces public optionnel via Funnel (avec double confirmation)
  • Fonctionne depuis iOS, Android, Windows, macOS, Linux
  • Chiffrement WireGuard de bout en bout

📥 Installation

1️⃣ Installer le plugin

Plugins > Gestion des plugins > Market > Tailscale > Installer stable

Activer le plugin apres installation.

info

Tailscale est installe automatiquement via le script officiel. Les droits www-data sont configures (operator + sudoers cible). Aucune intervention manuelle.

2️⃣ Authentifier Jeedom sur le tailnet

Depuis la page Configuration du plugin :

  1. Cliquer Se connecter a Tailscale
  2. Cliquer sur le lien d'authentification affiche
  3. Se connecter avec votre compte Tailscale (Google, Microsoft, GitHub...)
  4. La page se met a jour automatiquement une fois connecte

3️⃣ Synchroniser les equipements

  1. Page du plugin > cliquer Synchroniser
  2. Un equipement est cree par noeud du tailnet
  3. Les commandes sont creees automatiquement
info

La synchronisation ne cree que les equipements. Elle ne supprime jamais un equipement existant, mais desactive ceux dont le peer a disparu du tailnet.


🖥️ Page du plugin

La page principale affiche quatre boutons de gestion :

BoutonAction
SynchroniserCree/met a jour un equipement par peer du tailnet
ConfigurationOuvre la configuration du plugin (authentification, OAuth, options)
Sante / DiagnosticDiagnostic complet de la connexion Tailscale
AppareilsPanel d'administration des appareils du tailnet (API OAuth)

⚙️ Configuration de l'equipement

Chaque equipement represente un noeud de votre tailnet.

📝 Parametres generaux

ChampDescription
NomNom de l'equipement (initialise avec le nom du noeud, modifiable)
Objet parentPiece/objet Jeedom
CategorieCategorie Jeedom
Activer / VisibleActivation et visibilite

🎯 Parametres specifiques

ChampDescription
Auto-actualisationExpression cron pour la frequence de rafraichissement (assistant disponible via ?). Vide = toutes les minutes
astuce

Pour un appareil rarement utilise, un rafraichissement toutes les 5 minutes (*/5 * * * *) suffit et reduit la charge.


📡 Commandes

Les commandes sont creees automatiquement a la synchronisation. Leurs types techniques (type, subType) sont mis a jour a chaque synchronisation pour beneficier des corrections futures.

📊 Commandes info

CommandeTypeDescription
Onlinebinary1 si le noeud est en ligne (historise par defaut)
IP TailscalestringAdresse IPv4 Tailscale du noeud (100.x.y.z)
IPv6stringAdresse IPv6 Tailscale
HostnamestringNom DNS complet du noeud sur le tailnet
OSstringSysteme d'exploitation du noeud
Derniere activitestringDate/heure du dernier contact
Connexion directebinary1 si le trafic passe en peer-to-peer (pas via DERP)
DERPstringRelais DERP utilise avec son nom humain (ex: Paris). Vide si connexion directe
LatencenumericLatence du dernier ping Tailscale (en ms)
Exit Nodebinary1 si le noeud est un exit node
TagsstringTags Tailscale du noeud (separes par virgule)
Autorisebinary1 si l'appareil est autorise sur le tailnet
Expiration cle (jours)numericNombre de jours avant expiration de la cle. 0 si pas d'expiration

⚡ Commandes action

CommandeDescription
PingEffectue un tailscale ping et met a jour la latence et le statut direct/DERP
RafraichirMet a jour toutes les commandes info depuis le statut du tailnet
ActiverAutorise l'appareil sur le tailnet (liee a la commande info Autorise)
DesactiverDesautorise l'appareil sur le tailnet (liee a la commande info Autorise)

🏠 Commandes supplementaires de l'equipement Self

L'equipement representant Jeedom lui-meme dispose de commandes supplementaires :

CommandeTypeDescription
Etatstring (info)Etat de la connexion Tailscale (Running, Stopped, NeedsLogin...)
Peers en lignenumeric (info)Nombre d'appareils actuellement en ligne sur le tailnet
Exit node actifbinary (info)1 si Jeedom est configure comme exit node
Subnet router actifbinary (info)1 si Jeedom annonce des routes au tailnet
Mise a jour disponiblebinary (info)1 si une nouvelle version de Tailscale est disponible
ConnecteractionReactive la connexion Tailscale
DeconnecteractionCoupe la connexion Tailscale
Mettre a jouractionMet a jour Tailscale a la derniere version
Utilisation dans un scenario
Bloc action :
1. [Serveur][Tailscale] Ping
2. SI [Serveur][Tailscale][Online] == 0
Alors → notification "Serveur hors ligne"

Activer/desactiver un appareil :
1. [Telephone][Tailscale] Activer
2. [Telephone][Tailscale] Desactiver

🎛️ Panel d'administration

Le panel d'administration (bouton Appareils sur la page principale) est organise en trois onglets : Appareils, Subnet Router et Serve / Funnel.

Prerequis

Configurez un OAuth Client dans la page Configuration du plugin. Creez-le sur console.tailscale.com/admin/settings/trust-credentials avec les scopes necessaires.

🔑 Scopes OAuth requis

FonctionnaliteScope minimum
Lister les appareilsdevices:core:read
Autoriser / desactiverdevices:core (ecriture)
Gerer les tagsdevices:core (ecriture)
Gerer les routes / Subnet Routerdevices:routes (lecture + ecriture)
Supprimer un appareildevices:core (ecriture)

📱 Onglet Appareils

Actions disponibles

BoutonActionConfirmation
Activer / DesactiverAutorise ou desautorise l'appareil sur le tailnetOui
CleActive/desactive l'expiration de la cleNon
TagsModifie les tags Tailscale (ex: tag:server,tag:jeedom)Saisie
RoutesAffiche les routes annoncees et permet d'approuver/revoquerSaisie
DetailsAffiche toutes les proprietes brutes de l'appareilNon
SupprimerSupprime definitivement l'appareil du tailnetOui

Tailscale SSH

En bas de l'onglet, la section Jeedom local permet d'activer ou desactiver Tailscale SSH sur la machine Jeedom.

🌐 Onglet Subnet Router

L'onglet Subnet Router permet de gerer le partage du reseau local de Jeedom avec le tailnet.

Informations affichees

ChampDescription
EtatSubnet router active ou desactive
Routage IPStatut de l'IP forwarding (IPv4 + IPv6 doivent etre actives)
Reseau local detecteSous-reseau(x) IPv4 detecte(s) automatiquement (ex: 192.168.1.0/24)
Routes annonceesRoutes actuellement annoncees par Jeedom au tailnet
Routes approuveesIndique si les routes annoncees sont approuvees (necessite l'API OAuth)

Actions

BoutonActionConfirmation
ActiverDetecte le reseau local et annonce les routes au tailnetOui
DesactiverRetire toutes les routes annonceesOui
Approuver les routesApprouve les routes via l'API (necessite le scope devices:routes)Oui
Activation complete

Pour que le subnet router fonctionne, trois conditions doivent etre reunies :

  1. L'IP forwarding doit etre active (IPv4 + IPv6)
  2. Les routes doivent etre annoncees (bouton Activer)
  3. Les routes doivent etre approuvees (bouton Approuver ou via la console admin Tailscale)
IP forwarding

Si le routage IP est marque NOK, activez-le manuellement :

echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
sudo sysctl -p /etc/sysctl.d/99-tailscale.conf
attention

Tailscale SSH permet l'acces SSH a Jeedom depuis n'importe quel appareil autorise du tailnet. L'acces reste soumis aux ACL SSH configurees dans la console admin Tailscale.

🌐 Onglet Serve / Funnel

L'onglet Serve / Funnel permet d'exposer Jeedom en HTTPS sans configuration manuelle de certificat ou de reverse proxy.

Informations affichees

ChampDescription
Serve HTTPSActive ou desactive
URL HTTPSAdresse HTTPS de Jeedom sur le tailnet (ex: https://jeedom.tail1234.ts.net)
Funnel (public)Active ou desactive — quand actif, Jeedom est accessible depuis Internet
DetailsConfiguration actuelle de Serve (backends, ports)

Actions

BoutonActionConfirmation
Activer ServeExpose Jeedom en HTTPS sur le tailnet (port 443 → port 80 local)Oui
Desactiver ServeArrete l'exposition HTTPSOui
Activer FunnelRend Jeedom accessible depuis Internet via TailscaleDouble confirmation
Desactiver FunnelCoupe l'acces public, Serve reste actifOui
Comment ca marche

Serve utilise MagicDNS et un certificat TLS automatique pour exposer Jeedom en HTTPS aux appareils du tailnet. C'est une alternative simple au reverse proxy + Let's Encrypt.

Funnel va plus loin en rendant cette URL accessible depuis n'importe quel navigateur, meme sans Tailscale installe. Seul le trafic HTTPS sur le port 443 est expose.

Usage avance

Ces fonctionnalites s'adressent a des utilisateurs avertis. Activer Funnel rend Jeedom accessible depuis Internet. Assurez-vous de comprendre les implications et que l'authentification Jeedom est correctement configuree (mot de passe fort, pas de compte par defaut). Une double confirmation est demandee pour cette raison.


🩺 Diagnostic

Le bouton Sante / Diagnostic ouvre un tableau de bord complet.

📋 Sections du diagnostic

Service

ElementVerifie
tailscaledLe service systemd est actif
SocketLe socket de communication avec le demon est accessible

Reseau

ElementVerifie
IPv4 TailscaleAdresse IPv4 attribuee (100.x.y.z)
IPv6 TailscaleAdresse IPv6 attribuee
MagicDNSNom DNS du noeud resolu
UDPCapacite UDP disponible
UPnPPresence d'UPnP (informatif, l'absence n'est pas un probleme)

Connectivite

ElementVerifie
Capacite peer-to-peer (UDP)La machine peut etablir des connexions directes via UDP
DERPRelais DERP le plus proche identifie
Latence DERPLatence vers le relais DERP (ms)
info

La capacite peer-to-peer indique si la machine peut etablir des connexions directes. Cela ne signifie pas qu'une connexion directe est actuellement active avec un peer specifique.

Routage

ElementVerifie
IP forwardingnet.ipv4.ip_forward et net.ipv6.conf.all.forwarding actives
Subnet routerRoutes annoncees par cette machine
Exit nodeMode exit node active/desactive

Sante

Resume global : installation, service, authentification, IP, tailnet, API, MagicDNS, forwarding.

Le test API OAuth est execute separement pour ne pas bloquer le diagnostic si l'API Tailscale est lente ou inaccessible.

📊 Integration page Sante Jeedom

Le plugin s'integre dans Analyse > Sante de Jeedom et affiche :

TestDescription
Tailscale installeVerifie que les binaires sont presents
Service tailscaledVerifie que le service est actif
AuthentificationVerifie que Tailscale est connecte au tailnet
IP TailscaleAffiche l'adresse IP attribuee
API OAuthIndique si l'API est configuree (informatif)

Le plugin fournit aussi des informations detaillees pour les posts Community (bouton Creer un post Community) : version Tailscale, etat, nombre d'equipements, configuration API.


🔧 Configuration du plugin

🔌 Etat de la connexion

Affiche le statut actuel de Tailscale :

StatutSignification
ConnecteTailscale est actif et connecte au tailnet
Arrete (down)Connexion coupee, peut etre reconnectee
Authentification requiseTailscale attend une authentification
En attente de validationLe noeud attend l'approbation dans la console admin
Non installeTailscale n'est pas installe, relancer les dependances

⚡ Actions

BoutonAction
Se connecter a TailscaleLance le flux d'authentification interactive
Reconnecter (up)Reactive la connexion apres un down
Deconnecter (down)Coupe la connexion (le noeud reste dans le tailnet)
Quitter le tailnet (logout)Supprime le noeud du tailnet (reauthentification necessaire)
attention

Deconnecter et Quitter le tailnet sont des actions destructrices. Si vous accedez a Jeedom via le tailnet, vous perdrez cet acces.

🔐 Authentification par cle

ChampDescription
Cle d'authentificationtskey-auth-... ou tskey-client-... (utilisee une seule fois, jamais stockee)
Tag OAuthTag pour l'authentification via secret OAuth (defaut : tag:jeedom)

🔑 API OAuth

ChampDescription
OAuth Client IDIdentifiant du client OAuth Tailscale
OAuth Client SecretSecret chiffre en base, jamais affiche ni logue
astuce

Le token d'acces est mis en cache ~55 minutes. Si vous changez les credentials OAuth, le cache est automatiquement invalide.

⚙️ Options

ChampDescription
Nom de la machineNom sous lequel Jeedom apparait dans le tailnet (defaut : jeedom)
Creation automatique des equipementsSi active, les nouveaux appareils detectes sur le tailnet sont automatiquement crees comme equipements Jeedom. Sinon, une notification est envoyee et vous devez cliquer sur Synchroniser

🌐 Subnet router et exit node

🌐 Subnet router

Expose un reseau local au tailnet. Depuis le diagnostic ou la console Tailscale :

  1. Activer l'IP forwarding :
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
sudo sysctl -p /etc/sysctl.d/99-tailscale.conf
  1. Annoncer les routes dans la configuration du plugin (champ Routes) ou via le panel Appareils.

  2. Approuver les routes dans la console admin Tailscale.

🚪 Exit node

Fait transiter tout le trafic Internet des clients par Jeedom. Activer dans la configuration du plugin.

attention

Tout le trafic Internet des appareils clients transitera par la connexion Internet de Jeedom. Impact sur la bande passante et la latence.


💡 Exemples d'utilisation

🆘 Acces de secours a Jeedom

Votre DNS ou votre acces internet tombe — vous ne pouvez plus joindre Jeedom via votre nom de domaine habituel. Il suffit d'activer Tailscale sur votre telephone (iPhone, Android) et d'ouvrir :

https://jeedom.tailnet-name.ts.net

Avec Serve active, l'acces se fait en HTTPS avec un certificat valide. Vous retrouvez l'acces a Jeedom immediatement, en 4G, sans dependre du DNS, du port forwarding ou d'un service tiers. Tailscale etablit un tunnel direct entre votre telephone et Jeedom.

astuce

C'est aussi utile si votre box internet redemarrer ou si votre fournisseur de DNS dynamique est en panne. Tailscale fonctionne independamment de tout ca.

🏠 Acceder aux equipements du reseau local a distance

Chez vous, vous avez une camera IP en 192.168.1.50 et une imprimante en 192.168.1.30. Ces appareils n'ont pas Tailscale.

Avec le subnet router active sur Jeedom (192.168.1.0/24), depuis votre telephone en 4G vous pouvez :

  • Voir le flux de la camera a http://192.168.1.50
  • Imprimer sur 192.168.1.30
  • Acceder a la box domotique Z-Wave en 192.168.1.10

Tout le reseau local est accessible via le tailnet, sans exposer quoi que ce soit sur internet.

Limiter l'acces a un seul appareil

Pour n'exposer qu'un seul equipement, utilisez un masque /32 : par exemple 192.168.1.10/32 pour la box Z-Wave uniquement. C'est plus securise que d'exposer tout le reseau.

🔄 Activer ou desactiver un appareil depuis un scenario

Un enfant depasse son temps d'ecran — un scenario Jeedom desactive son PC du tailnet :

[PC-enfant][Tailscale] Desactiver

Le soir, il est reactive automatiquement :

[PC-enfant][Tailscale] Activer

📈 Monitoring de latence entre sites

Vous avez deux Jeedom (maison et bureau) sur le meme tailnet. Vous surveillez la qualite de connexion :

Toutes les 5 minutes :
1. [Jeedom-bureau][Tailscale] Ping
2. SI [Jeedom-bureau][Tailscale][Latence (ms)] > 100
Alors → log "Connexion degradee vers le bureau"

La latence est historisee — vous pouvez en faire un graphique dans Jeedom pour suivre l'evolution.

🚨 Alerte si un Jeedom distant tombe

SI [Jeedom-maison2][Tailscale][Online] == 0
Alors → notification "Jeedom maison 2 hors ligne !"

🔄 Connecter/deconnecter Tailscale depuis un scenario

L'equipement Self dispose de commandes pour piloter la connexion Tailscale :

[Jeedom][Tailscale] Connecter → reactive la connexion
[Jeedom][Tailscale] Deconnecter → coupe la connexion

🆕 Mise a jour automatique de Tailscale

SI [Jeedom][Tailscale][Mise a jour disponible] == 1
Alors → [Jeedom][Tailscale] Mettre a jour

🛡️ Securite

🔒 Droits www-data

Le plugin configure automatiquement deux mecanismes pour que www-data puisse piloter Tailscale :

  1. Operator Tailscale : tailscale set --operator=www-data
  2. Sudoers cible : /etc/sudoers.d/tailscale-jeedom autorise uniquement /usr/bin/tailscale

🗑️ Desinstallation

A la suppression du plugin :

  • L'operator www-data est revoque
  • Le fichier sudoers est supprime (si Jeedom tourne en root) ou un message indique la commande manuelle
  • Tailscale reste installe sur l'OS (l'acces distant continue de fonctionner)

Pour retirer completement Tailscale :

sudo tailscale logout
sudo apt-get remove tailscale

🛡️ Protection des secrets

SecretProtection
Cles d'auth (tskey-*)Jamais en argument de processus (fichier temporaire 0600), jamais stockees
Secret OAuthChiffre en base par Jeedom ($_encryptConfigKey)
Token APIEn cache memoire, jamais logue
Actions sensiblesDouble confirmation : UI (jeeDialog) + serveur (confirm=1)
Journal d'auditToutes les actions sensibles tracees avec utilisateur et IP

🔔 Notifications

Le plugin envoie des notifications dans le centre de messages de Jeedom dans les situations suivantes :

SituationFrequence
Expiration de cle dans 14 joursUne fois par jour
Expiration de cle dans 3 joursUne fois par jour
Connexion perdue (NeedsLogin)Une fois par heure
Appareil en attente de validationUne fois par heure
Nouveau peer detecte sur le tailnetA chaque detection
Alerte sante TailscaleA chaque changement
astuce

Si la creation automatique est activee dans les options, les nouveaux peers sont automatiquement synchronises au lieu de generer une notification.


🔄 Auto-actualisation

Le plugin execute un cron toutes les minutes. Pour chaque equipement actif :

  1. Si une expression cron est configuree dans Auto-actualisation, elle est evaluee
  2. Si l'expression ne correspond pas a la minute courante, l'equipement est ignore
  3. Sinon, la commande Rafraichir est executee
astuce

Laisser le champ vide = rafraichissement toutes les minutes (comportement par defaut).


📋 Logs

LogDescription
tailscaleLog principal du plugin (actions, synchronisation, cron)
tailscale_updateLog d'installation des dependances

Activer Debug pour voir les commandes CLI executees et leurs sorties.


📱 Panel mobile

Le plugin dispose d'un panel mobile accessible depuis l'application Jeedom sur smartphone et tablette.

  • Vue de tous les appareils du tailnet avec leur statut (en ligne / hors ligne)
  • Filtre rapide : tous, en ligne, hors ligne
  • Rafraichissement automatique toutes les 30 secondes
  • Details par appareil : hostname, OS, latence, relais DERP, tags, autorisation
  • Actions directes : ping, rafraichir, activer, desactiver

Accessible via Plugins > Tailscale dans l'application mobile Jeedom.


🛠️ Depannage

❌ Dependances NOK

Verifier que Tailscale est installe :

tailscale version
tailscaled --version

Si les binaires sont presents mais le service arrete :

sudo systemctl start tailscaled
sudo systemctl enable tailscaled
info

Un service arrete n'affiche plus "dependances NOK". Le plugin considere les dependances comme OK des que les binaires existent et que l'unite systemd est activee (is-enabled).

🚫 Permission refusee

# Verifier les droits
sudo -u www-data sudo -n tailscale status

# Si refus, recreer le sudoers
echo 'www-data ALL=(root) NOPASSWD: /usr/bin/tailscale' | sudo tee /etc/sudoers.d/tailscale-jeedom
sudo chmod 440 /etc/sudoers.d/tailscale-jeedom

🔗 URL d'authentification qui n'apparait pas

  • Verifier l'acces reseau vers login.tailscale.com et controlplane.tailscale.com
  • Consulter le log tailscale en mode Debug
  • Le processus tailscale up a un timeout de 180 secondes

API OAuth — erreurs

  • Verifier les credentials dans la configuration du plugin
  • Verifier les scopes du client OAuth sur la console admin Tailscale
  • Le cache du token est automatiquement invalide si les credentials changent
  • En cas de 401, le cache est purge et un nouveau token est demande au prochain appel

Equipement toujours "en ligne" alors que l'appareil est eteint

Le statut Online du plan de controle Tailscale peut avoir un delai. Le plugin considere un peer en ligne si :

  • Le champ Online est vrai, ou
  • Le champ Active est vrai, ou
  • Le LastSeen date de moins de 5 minutes

Un Ping depuis l'equipement donne un resultat plus fiable et immediat.