Pas de soucis, je suis dans ce cas également : tout sous Docker.
Voici un docker-compose.yml qui fonctionne sous Debian 13.
J’ai installéTailscale de cette manière sur mon R720XD sous Debian pour le relier à mon tailnet.
Il faut avoir un compte Tailscale (compte gratuit jusqu’à 100 machines) :
https://login.tailscale.com/admin
Sur la machine Docker, créer le dossier tailscale :
nano /home/docker/tailscale/docker-compose.yml
services:
tailscale:
image: tailscale/tailscale:latest
container_name: tailscale
hostname: ${TS_HOSTNAME} # apparaît dans le tailnet
network_mode: host # accès réseau complet de l'hôte
cap_add:
- NET_ADMIN
- NET_RAW
volumes:
- ./tailscale-state:/var/lib/tailscale
- /dev/net/tun:/dev/net/tun
environment:
- TS_STATE_DIR=/var/lib/tailscale
- TS_AUTHKEY=${TS_AUTHKEY}
- TS_HOSTNAME=${TS_HOSTNAME}
- TS_EXTRA_ARGS=${TS_EXTRA_ARGS}
- TS_ACCEPT_DNS=${TS_ACCEPT_DNS}
- TS_USERSPACE=${TS_USERSPACE}
restart: unless-stopped
Persistance d’état : le dossier ./tailscale-state conserve les clés de la machine entre les redémarrages. Sans ça, la machine réapparaît comme nouveau nœud à chaque up. Le dossier est créé automatiquement.
Auth key : à générer à l’adresse indiquée plus bas → Keys → Generate auth key. Pour une machine permanente, cocher Reusable et Pre-authorized
https://login.tailscale.com/admin/settings/keys
Le fichier .env stocke les données secrètes :
nano /home/docker/tailscale/.env
TS_AUTHKEY=tskey-auth-XXXXXXXXXXXX
TS_HOSTNAME=homeassistant
TS_EXTRA_ARGS=–advertise-routes=10.90.80.0/24
TS_ACCEPT_DNS=false
TS_USERSPACE=false
chmod 600 .env
Il ne faut indiquer TS_EXTRA_ARGS= que si l’on pas veut donner accès à tout son réseau local.
Ensuite lancer Tailscale avec la commande :
sudo docker compose up -d tailscale
Vérifier que tout fonctionne en lisant les logs:
sudo docker logs tailscale
La machine est automatiquement ajoutée au tailnet. Dans l’interface admin de Tailscale, il faut penser à cliquer sur le nom de la machine et à désactiver l’expiration de la clé, sans quoi il faudra se reconnecter :
https://login.tailscale.com/admin
Pour mettre à jour Tailscale automatiquement à intervalle régulier, on peut utiliser le fichier Docker Watchtower (bien documenté sur Internet).