Tether is the central hub for your distributed Traefik setup. It gathers information from all your servers and tells Traefik exactly how to route traffic to your apps.
Think of it as a central operator: multiple servers (running Tetherd) tell Tether which apps are running, and Tether gives Traefik a single, master list of all of them.
If you have multiple physical servers or VPS instances but don't want the complexity of Kubernetes or Docker Swarm, Tether is for you.
- One Public IP: Point your router/firewall (Port 443) to just one server running Traefik.
- Auto-Discovery: Apps on other servers are automatically found and added to Traefik.
- Simple: No complex networking, no KV stores (Consul/Redis), just simple HTTP heartbeats.
Imagine you have 3 servers, but only one public WAN connection.
- Server A (The Gateway): Runs Traefik and Tether. Your router forwards port 443 here.
- Server B & C (The Workers): Run your apps (Websites, APIs, etc.) and a small agent called Tetherd.
Tetherd on Server B/C tells Tether (on Server A) what is running. Traefik asks Tether for the config and magically knows to send app1.com to Server B and app2.com to Server C.
Run Tether using Docker Compose:
services:
tether:
image: ghcr.io/mizuchilabs/tether:latest
ports:
- 3000:3000
environment:
- TETHER_TOKEN=your-secret-password # Shared with agents
restart: unless-stoppedTell your Traefik instance to get its routing rules from Tether:
providers:
http:
endpoint: "http://tether:3000/config"
pollInterval: "5s"
headers:
Authorization: "Bearer your-secret-password"| Env Var | Flag | Default | Description |
|---|---|---|---|
TETHER_TOKEN |
--token |
Strongly recommended: Shared secret for agents to connect. | |
TETHER_PORT |
--port |
3000 |
Port Tether listens on. |
TETHER_NO_WEB |
--no-web |
false |
Disable serving the web UI. |
TETHER_CONFIG |
--config |
/data/dynamic.yml |
Optional local file for manual Traefik rules. |
TETHER_DEBUG |
--debug |
false |
Enable detailed logging. |
Next Step: Install Tetherd on your other servers to start connecting them!
Apache 2.0 License - see LICENSE for details
