tslink
A Docker network plugin that puts every container on your tailnet as a node of its own.
Each container gets its own name, tailnet address and tags, and your grants apply to it like to any other node. Configure it with labels, on one host or across a Swarm.
docker plugin install --alias tslink --grant-all-permissions \
ghcr.io/matchory/tslink:latest-amd64
docker network create --driver tslink:latest \
--opt tslink.authkey=tskey-auth-… my-tailnet
docker run -d --network my-tailnet --label tslink.hostname=web nginx:alpineA few seconds later, web is a node in your tailnet. On an ARM host, use arm64.
🚀Try it on one host
Install the plugin, run nginx as a node of its own, and open it over HTTPS with a certificate for its name.
Read more🐳Run it on Swarm
Give each stack its own tags and credential, and keep stacks out of each other's identities and state.
Read more🔀Expose a Service
Put replicas behind one Tailscale Service, and let tslink take each out of rotation before it stops.
Read more🛡️Know what it protects
What tslink guarantees, whom you have to trust, and how containers are kept from the host's node.
Read more
tslink is an independent project, not affiliated with or endorsed by Tailscale Inc. Tailscale is a trademark of Tailscale Inc.