I turned my small computer into a Tailscale relay and remote transfers were instant from crawl

I turned my small computer into a Tailscale relay and remote transfers were instant from crawl

Tailscale was my go-to solution for remote access to my home network when I was traveling. That’s when it all started to go haywire. Syncing photos with Immich, uploading receipts to a paperless ngx instance, or streaming a movie from my Jellyfin library all moved at an equally frustrating pace. I took it as the price of using Tailscale’s private mesh network.

After years of using traditional VPNs, I was hoping for a similar experience with Tailscale to securely access my home network while I was away. The premise of a private grid forced me to make a few compromises, and speed was one of them. This assumption turned out to be wrong. The actual fix to stop my crawling transfers took about five minutes. I needed to replace one switch for a home server that was running 24/7.

My transfers were never direct

A status check revealed the whole story

It’s so convenient to use Tailscale to access my home setup that I’ve never tested how well it works. I didn’t question it until I was contacted. But slow transfer speeds and a mediocre streaming experience eventually got me interested enough to run Tailscale’s built-in connectivity check when transferring photos to an Immich instance.

I always assumed that Tailscale would connect my devices directly to each other. Instead, the check revealed that my connection was going through one of Tailscale’s servers. It did not go directly from one device to another. Simply put, none of my devices could find a direct way to talk to each other. Thus, Tailscale worked quietly as an intermediary for each package. It didn’t occur to me to check every time my ISP network was interfering with direct communication between my devices.

A shared relay explains only transfers

Streaming and viewing parties pay the same tax

Send files quickly with Taildrop

A closer look made several irritants suddenly apparent. The remote stream from my Jellyfin server buffers occasionally, and friends who have joined Emby watch parties have pointed out that they are out of sync several times. I wrote them as separate, unrelated problems.

What I didn’t realize was that each of these connections goes through the same shared relay server. This server handles everyone’s traffic, not just mine. This explained why every transfer or stream through Tailscale felt like a crawl, even on a decent connection. That’s when I realized I’d been overlooking a feature the whole time.

It is called correction Peer relayit turns a dedicated device on my tailnet into a high-speed relay server. This way, I skip routing everything through Tailscale’s shared infrastructure. So I don’t have to guess the way my devices will travel to public relays around the world. This helps in a home network environment, especially if you’re behind a strict NAT like I am.

Converting a dedicated device into an equivalent relay machine

The small computer has become a fix

A small computer with external memory

While I was looking for solutions to the slow transfer problem, I came across my colleague Adam’s explanation of what equal relays are and how they work. It took me little effort to turn the HP ProDesk 600 G6 into a relay. The mini PC acts as a home server that manages reverse proxy settings and manages free TLS certificates for my self-hosted applications. So it was easy to add another task to it.

The entire process involved changing settings in the Tailscale admin console without a terminal. There was no need to open a single port on the router. However, I had to write a quick rule for select devices to use a small PC relay instead of the Tailscale generic relays. Best of all, you don’t need to pay extra for a subscription or buy special equipment to make it happen.

The difference was noticed by remote access

Focus on actual experience rather than synthetic metrics

Remote streaming of multimedia content with Tailscale

Once everything was set up, I didn’t have any issues with external backups. File transfers completed in a fraction of the time my previous transfers took. The experience wasn’t subtle, but it was better until I checked the numbers. Jellyfin stream stopped buffering remotely as soon as the video started. Emby watch parties were synchronized for everyone connected.

Using Tailscale to remotely access my home computer made my RustDesk sessions faster. These connections benefited from a private relay on my home network. In the end, I relied on Taildrop’s transfer speed between my machines. So I tried to enjoy the experience rather than avenging my speed test scores.

Keeping the relay accessible and always available is key

A dedicated home relay is only useful when the device can be reliably accessed from the outside. I don’t use a static IP for my home connection; the address is constantly changing which can make my relay unreliable. Fortunately, Tailscale has helped overcome the need to set up static IPs and dynamic DNS. My relay never deals with address changes when transferring files.

The same tailnet also allows Pi-hole to quietly block ads and trackers. A single, well-placed unit assures me that it can support the weight of my entire home lab without adding complexity. I spent a few months trying to figure out how slow transfers Tailscale behaves because it’s a private VPN mesh and didn’t explore the available settings. It didn’t cost me anything to solve the remote access and transfer problems, and it only took five minutes to route all the relay traffic to my small computer.

Leave a Reply

Your email address will not be published. Required fields are marked *