TSDProxy
TSDProxy is a Tailscale proxy for Docker containers that automatically creates Tailscale machines for labeled containers, providing automatic HTTPS, dynamic…
Platform availability
Available on 1 of 9 platforms
- Unraid
- TrueNAS (not listed)
- Umbrel (not listed)
- ZimaOS (not listed)
- Proxmox (not listed)
- Helm (not listed)
- Mac (not listed)
- Windows (not listed)
- Linux (not listed)
Health score?A 0-100 score computed nightly from four factors: maintained (40%: recent commits and steady activity), popular (25%: GitHub stars, log scale), easy to install (20%: platforms, install notes, setup guides, Docker image) and light to run (15%: minimum RAM, ARM support). When the source code has been checked, a fifth factor, security check (20%: automated scan for committed secrets, unsafe desktop-app settings, known-vulnerable dependencies and project hygiene; any serious finding caps it at 20), is added. Factors without data are left out and the rest are rescaled.
74/100 Good
- Maintained
- 100last commit 6 days ago
- Popular
- 651,713 GitHub stars
- Easy to install
- 351 install platform, install notes, Docker image
- Light to run
- No data
Based on 3 of 4 factors.
Availability: platform listings confirmed today, links checked 13 days ago
- GitHub stars
- 1,713
- Open issues
- 26
- Last commit
- 2026-10-07
- Latest release
- v2.3.4
- License
- MIT
- Activity
- rising
Checked 5 days ago - source: GitHub (almeidapaulopt/tsdproxy)
Resources & Compatibility
ARM (e.g. Raspberry Pi) is supported.
Checked 15 days ago - source: Docker Hub image tags and published docs
First-install notes
- Start it with Docker Compose, then open port 8080 Use the provided docker-compose.yml and run `docker compose up -d`, then open http://localhost:8080 for the dashboard. Port 8080 is where TSDProxy shows its web UI, so if it’s blocked or wrong you won’t be able to manage your proxies. source
- Keep the config folder safe Save your settings in the host folder mapped to `/config` (the quick start uses `./config:/config`), because TSDProxy creates and reads `/config/tsdproxy.yaml` there. If you delete or lose that folder, you lose your proxy setup; changes to the file are picked up automatically, so you can edit it without restarting. source
- Label apps and keep Docker access enabled Add `tsdproxy.enable: "true"` and a `tsdproxy.name` label to the containers you want TSDProxy to expose, and keep the `/var/run/docker.sock` mount from the sample compose file. The labels tell TSDProxy what to show, and the socket is Docker’s control file, so without either it won’t be able to expose your apps. source
- Volumes Mount a named volume for /data and a local directory for /config. source
- Docker Compose mounts Mount /var/run/docker.sock, persistent /data and /config volumes, and host.docker.internal mapping in Docker Compose. source
- Docker Compose Mount /var/run/docker.sock, a data volume, and a config directory so TSDProxy can manage labeled containers. source
Fetched yesterday - each note links to its source
Variants
Alternatives (2)
- Caddy - Caddy is an extensible web server and reverse proxy that serves Transport Layer Security (TLS) by default, making it simple to secure and r…
- Træfik Proxy - The Cloud Native Application Proxy Simplify networking complexity while designing, deploying, and operating applications.
Checked yesterday - source: AlternativeTo
Common questions
What Docker setup details can prevent TSDProxy from exposing a container?
Keep the /var/run/docker.sock mount and add tsdproxy.enable and tsdproxy.name labels to the container. TSDProxy needs both the Docker socket and the labels to show and expose apps.
Where is TSDProxy configuration stored, and what should I back up?
TSDProxy creates and reads /config/tsdproxy.yaml from the host folder mapped to /config. Back up that config folder, because deleting or losing it loses the proxy setup; file changes are picked up automatically.
Can TSDProxy proxy TCP and UDP services, not just HTTP?
Yes, it can proxy TCP services such as SSH or databases and UDP traffic alongside HTTP/HTTPS. It also supports port ranges in a single label, for example 2222-2230/tcp.
How does TSDProxy know where to route traffic to the Docker host?
It connects to the Docker daemon via the socket or a remote host and routes traffic to container IPs on the Docker network. The targetHostname setting, typically host.docker.internal, tells it where to reach the Docker host.
Answers sourced from github.com, github.com, github.com
Community
- Reddit (reddit)
- TSDproxy: proxy for tailscale containers - Discuss - YunoHost Forum (forum)
- Has anyone successfully set up TSDProxy? - forums.truenas.com (forum)
- [Container] TSDProxy - Tailscale - Unraid (forum)
- [Container] TSDProxy - Page 2 - Tailscale - Unraid (forum)
Collected 14 days ago - public community threads