TSDproxy to Simplify Docker Self-Hosting

Not going to go into enough detail here to write a whole guide, but after initially following the Docker + Tailscale guide to run SilverBullet on a Raspberry Pi I had laying around, I found myself revisiting my install because I wanted to also host rss-bridge and Miniflux.

There is a newish piece of software called tsdproxy which makes it pretty straightfoward to access as many docker containers as you can run all under subdomains for your tailnet.

Previously it wasn’t intuitive to get multiple web-uis up and functioning using tailscale serve, now I have miniflux.tailscale-silly-name.ts.net, silverbullet.tailscale-silly-name.ts.net, etc., by simply adding a tsdproxy.enable = “true” label to each of the running containers.

I believe this can be done with caddy, but this was the most direct way I could find without completely rethinking how I was self-hosting.

1 Like

Oh wow this is very interesting! I have been using tailscale funnel with all available SSL ports, but if I can use subdomains that’s way nicer. Are you using this? GitHub - almeidapaulopt/tsdproxy: Tailscale Docker Proxy

I just set this up. This is amazing!

Stumbled across it yesterday and it was one of those rare moments when you find out that the EXACT thing you need already exists and works without headache

1 Like

hah. It doesn’t work without headache for me but I’m a total noob going the learn while doing route.

lmao. it works with SilverBullet. I’m off to sideeye all my other containers.

edit: ok not quite. I’ve got SB showing as a tailscale machine but it’s throwing a 502 error. progress at least.

There are some that don’t cooperate, I think I had some port issues in my first attempt. Took me a day of research and config to find the package and get it all going, I’m slow with this stuff a lot of the time too.

Was able to get SilverBullet, RSS Bridge, and miniflux all cooperating side by side. Had one other that refused to get along.