Home Assistant brings the connected devices in your home into one interface, where you can control, connect, and automate them. It's an incredible open-source project, especially given that it can run on modest hardware. And with Tailscale added into your Home Assistant setup, you can control all your devices from anywhere you can run Tailscale, without opening ports or setting up proxies.
Our YouTube host Alex Kretzschmar recently published an updated video guide to setting up Home Assistant with remote access through Tailscale. This blog post provides a text accompaniment to that video, along with bookmarked chapters. We'll start with the assumption that you have Home Assistant installed and can reach its configuration tools through a web browser.
Installing Tailscale in Home Assistant
In your Home Assistant dashboard, click Settings (in the lower-left corner), then choose Apps (renamed from "Add-ons" in prior versions). Look for the Install app button in the lower-right corner. Search for Tailscale, select it, and then click Install. Repeat the process for Studio Code Server. You'll use both apps (maintained by core Home Assistant developer Frenck) to configure Home Assistant as a device on your Tailscale network, known as a tailnet.

Back in the Apps menu of Home Assistant, click on Tailscale > Info > Start. You can also turn on Watchdog, Auto update, and (less necessary) Show in sidebar.
Because this is Home Assistant, you might want to provide this convenient access to your controls and dashboards to other folks in your home. With Tailscale's Personal plan, you can have up to six users on your tailnet, along with unlimited user devices—and that's before you even consider device sharing. If you've made it this far into the guide and haven't set up your Tailscale account, now is the time to start.
Choose a tailnet name and enable HTTPS
Once you've got a Tailscale account and tailnet, you'll also have a Tailnet DNS name. The default is something like tail6e5bf.ts.net, which is not easy to type or remember. Click on DNS in your Tailscale web admin console, then click Rename tailnet. Click to re-roll your name until you land on a combination of things with a tail and scales that strikes your fancy. While you're in the DNS section, check that MagicDNS and HTTPS Certificates are enabled, so you can give Home Assistant a memorable address with a proper certificate.
Back inside Home Assistant, in the Tailscale app settings, select Open Web UI button. You'll be prompted to log in (and may have to click to allow a pop-up in your browser), and then confirm that you want to connect your Home Assistant to your tailnet. Once you see "Login successful," you can head back to your web admin console, and you should see your device (likely named homeassistant) on your Machines list, with a green dot next to it to indicate it is connected.

Configure Home Assistant for Tailscale Serve
Back inside the Tailscale app in Home Assistant, head into the Documentation tab, and scroll down the page until you see this code block, or something like it:
Copy the code block from the documentation (it may be updated after this blog post). Now you need to add this block to your Home Assistant configuration. Head to your Home Assistant Apps again, inside "Settings." Click on Studio Code Server > Start, and wait for it to load up. If you have issues with this Studio Code Server app, or prefer a lighter app on less powerful hardware, you can also use the "File Editor" app that is offered by default in Home Assistant.

In Studio Code Server (or File Editor), get into the file picker and then choose configuration.yaml to edit. At the bottom of your file, paste the four-line bit that allows for Home Assistant to work with Tailscale Serve. Make sure that the code pastes with proper spacing (two spaces for each indented line). Save the file, then head to Settings, and click the three dots in the upper-right corner. Choose Restart Home Assistant, then Restart Home Assistant again from the menu.
Enabling Tailscale Serve
Once your Home Assistant comes back online, head back to the Tailscale app inside it. Scroll down and look for Share Home Assistant with Serve or Funnel. You almost certainly do not want Funnel; that puts your Home Assistant setup on the public internet. Using Tailscale Serve makes more sense, so that you can reach Home Assistant from devices running Tailscale, like your phones and laptops.
With the Serve option enabled, you should now be able to reach your Home Assistant over Tailscale: https://homeassistant.velociraptor-noodlefish.ts.net, in the case of our YouTube host's tailnet. You can see your Home Assistant URL in the web Admin Console by clicking the arrow next to the Tailscale IP address for your Home Assistant, then clicking to copy the full URL with your tailnet name in it. Paste that URL into a browser and, after Tailscale does a little background handshaking to set up the certificate, you can reach your Home Assistant from anywhere you can run Tailscale, just like it was on your local network.

Use Home Assistant as an exit node or subnet router
The Tailscale app in Home Assistant has a number of switches you can turn on or off. Alex runs through them in his video, but, in brief:
- Accept DNS: This would allow Home Assistant to talk to other devices on your tailnet. It's on by default, and probably okay to keep it there.
- Advertise as exit node: If your Home Assistant device is one of your only always-on computers, this could be quite useful. Exit nodes let you route all of a device's traffic through the exit node over an encrypted connection. It's useful for foreign travel, security and privacy on public networks, and access to geo-limited services.
- Advertise subnet routes: Similar to exit nodes, a subnet router allows you to access all the devices that are on the same network range as that routing device. So if your Home Assistant box is on your home network at
192.168.1.50, and you set it to offer routes at192.168.1.0/24, you could then access all the devices on your home network, whether they run Tailscale or not. Like an exit node, it could be useful in this always-on device.
One more thing: support projects like Home Assistant
Tailscale can provide free and secure access to your Home Assistant, with no port-forwarding or complicated reverse proxies required. And Home Assistant itself is free. You can still support the development of Home Assistant—and we recommend you do—with a visit to their merch store or, more functionally, with a Nabu Casa subscription. That subscription adds easy access to third-party voice assistants, like Google Assistant and Amazon Alexa, fast and powerful voice control tools, cloud backups, and easy webhook setup.
Be warned: Easy access to Home Assistant can lead to increasing amounts of home automation thinking, tinkering, and even tiny gadget purchases. If you've used Tailscale to expand your Home Assistant setup, let us know how it's going on Reddit, Discord, Bluesky, X, Mastodon, or LinkedIn.
0 Comments
Log in to join the conversation.No comments yet. Be the first to share your thoughts.