New Add-on: Cloudflare Tunnel Client - Secure Remote Access made simple!
Hello Home Assistant community!
I’m excited to share a new add-on that makes setting up secure remote access to your Home Assistant instance, and, in general your home servers, incredibly simple using Cloudflare Tunnels!
What is it?
This add-on provides a simple, maintenance-free way to run a Cloudflare Tunnel client (formerly Argo Tunnel) directly in Home Assistant. No more port forwarding, no more complex network configurations, and most importantly - no more exposing your home network to the internet!
Key Features
Zero port forwarding required
End-to-end encryption
Simple one-token configuration
Leverage on add-ons’ automatic startup and watchdog capabilities
Focused on security and simplicity
Uses Cloudflare’s free tunnel service
Why I Created This Add-on
I’ve been using Cloudflare Tunnels to securely publish my websites without opening any ports on my home router, taking advantage of Cloudflare’s robust DDoS protection and security features. I wanted to simplify my home network setup by hosting the tunnel directly within Home Assistant, leveraging its built-in features like:
Automatic updates
Watchdog monitoring
Simple configuration
Easy maintenance
Perfect For You If…
You’re looking to:
Avoid opening ports on your router
Get enterprise-grade DDoS protection for free
Simplify your remote access setup
Enhance your Home Assistant security
Reduce maintenance overhead
Getting Started
It’s really this simple:
Add my repository to your Home Assistant add-on store:
Hi, yes it’s free - by the way, I’m a NabuCasa subscriber too. Actually it’s not so much about exposing Home Assistant, I agree that NabuCasa works and is more “native” to Home Assistant: it’s more about exposing your (possible) others services you host.
The main reasons I adopted Cloudflare Tunnel are:
To me, Cloudflare Tunnel just ‘works’, while NabuCasa continuously gives me network errors, even if I reviewed and tried every configuration set I could figure out.
I cannot say about security: Cloudflare is maybe the world’s biggest provider so I can easily trust it, but I assume that NabuCasa is leveraging on similar secure technologies (or even the very same )
With Cloudflare Tunnel you do have a specific URL, but using a custom domain that you must already own. In other words, if you’re the owner of the domain my-lovely-home.com you could setup in seconds the URL homeassistant.my-lovely-home.com or, if you prefer, my-lovely-home.com/homeassistant
The main reason is that with Cloudflare I could expose the others services I host in my Home network, e.g. a multimedia server (I use Plex), a NAS console, a self-hosted website, etc. It takes 1 minute to configure this, without touching anything in my home router configuration, and everything is managed in a single place (the Cloudflare dashboard).
With Cloudflare Tunnel I can configure easily but in details the routes to my servers. For instance, I can change the target IP or port, or switch protocol (HTTP, HTTPS, UDP, etc.) between the local tunnel client and the local server (the connection between the tunnel client and the Internet is always secured). So it’s very flexible if I move something, and configuration changes are immediately effective, even without restarting anything. To give you an idea, I’ve:
www.my-lovely-home.com pointing to 192.168.0.123:443/mywebsite
plex.my-lovely-home.com pointing to 192.168.0.123:32400
nas.my-lovely-home.com pointing to 192.168.0.123:8081
ha.my-lovely-home.com pointing to 192.168.0.99:8123.
In sum, if you are interested in Home Assistant only, I would recommend NabuCasa; if instead you host several services, Cloudflare Tunnel is great.
Hi @matrover, thanks for pointing out! Actually I wasn’t aware of the existing addon.
In theory, I would say that the addon you mentioned is better, because it covers a broader set of options and use cases… the only problem is that in my use case (a Cloudflare Tunnel managed remotely from the Cloudflared Dashboard) it doesn’t work properly
I’ll raise an issue on that repository, in the meantime I see two main reasons to use mine: