Building a self-hosting workstation lets you sidestep the privacy issues with modern apps while sparing your wallet from monthly subscription fees. But the caveat is that you can only access your favorite services over your local network and will have to look into firewall rules, DMZ, and/or port forwarding to connect to your home server from an external network.
As if that’s not enough, your home network could be afflicted with the scourge called CGNAT, making port forwarding even more of a hassle. While it’s not exactly a fully self-hosted solution since you’re relying on a company’s servers, Tailscale simplifies the process of exposing your local services to external networks. So, here’s a quick guide on how you can configure Tailscale to remotely access your favorite self-hosted services.
Docker vs. Podman: Which one's better for your self-hosting needs?
Can Podman dethrone Docker to become the king of containerization platforms?
Setting up Tailscale on your home server
First, you’ll have to deploy a Tailscale instance on the device you wish to access from other networks. I typically use Linux distros for my self-hosting workloads, though you can also deploy Tailscale on other operating systems (which is precisely what I’ll do in the next section). Regardless of whether you’re on a virtual machine or using a bare-metal rig, you can follow these steps to install and configure Tailscale on your home server:
- Launch the terminal app bundled with your OS.
-
(Optional) If your distro doesn’t ship with the curl command, install it from the apt repository.
sudo apt install curl -y
-
Execute this command to grab the Tailscale installation script and run it on your server:
curl -fsSL https://tailscale.com/install.sh | sh
-
Spin up the Tailscale instance by executing the following command:
sudo tailscale up
- Use the link generated in the terminal to open the Tailscale login page.
- Sign in to your Tailscale account (or create a new one if you haven't registered on the platform yet).
Installing Tailscale on your daily driver
With Tailscale configured on your workstation, it’s time to set up the app on the PC you wish to access your services from. Again, I’m using Windows 11 for this tutorial, but you’re free to go with any OS.
- Download the Tailscale setup.exe file from the official website and use it to install the app on your PC.
- Hit Get Started inside the app's pop-up window and tap Sign in to your network to open the Tailscale web UI.
- Once again, sign in to your Tailscale account.
Connecting to a remote server via Tailscale
Now that you’ve configured Tailscale on the server and client machines, you’re free to access the former from external networks. To do so,
- Make sure the Tailscale Dashboard shows Connected next to the server and client rigs.
- Type the IP address of the server followed by a colon (:) and the port number associated with the self-hosted app you want to use into another browser tab on the client machine.
Turn your self-hosted workstation into a remote server with Tailscale
Assuming you’ve followed all the steps properly, you should be able to access your services from any external network. If you’ve already enabled SSH on your self-hosting server, you can even use this protocol to execute commands from a remote device. Heck, for folks who prefer GUI environments in their workstations, you can combine VNC, RDP, and other remote access protocols with your Tailscale setup.
5 best self-hosted services for bibliophiles
Fancy yourself a bibliophile? Here are five useful apps you can host on your home server
