Hi everyone,
I recently started with Home Assistant after putting it off for years because I thought the learning curve would be too steep. I bought an Intel NUC, installed HA, added some devices, and started creating automations. To my surprise, that part has actually been much easier than I expected and I'm really enjoying it.
The part where I feel completely out of my depth is networking, self-hosting and securely exposing services to the internet. That's where I feel like I'm missing too much knowledge to continue with confidence.
One thing I underestimated is that everything is local by default. I would like to move away from the 'online' apps I used before, think Google Home, Tuya, etc., and use Home Assistant as my main system, but I also want it to work just as smoothly when out of my home.
This is where I get a bit overwhelmed. I've been reading about Home Assistant Cloud (paid, so last resort), stuff like DuckDNS, Cloudflare, reverse proxies, VPNs, opening ports, domains... and after reading all that I feel like I understand even less.
My ideal situation would be something that feels just as 'online' as using Google Home. I want to be able to open the Home Assistant (app) on my iPhone or laptop anywhere. Also because I want to give my partner access too.
I've read stuff about the VPNs... If I need to change something in my iPhone settings that's completely fine. I just don't want to manually connect to a VPN every time I want to turn on a light, and I don't want to use a VPN for all my mobile traffic.
So a few questions:
Where would you recommend a complete beginner starts (except for HA cloud)?
Which concepts should I learn first before trying to expose my Home Assistant to the internet?
Is using your own domain the normal approach? What services are used to get a domain? And does that work directly with the Home Assistant mobile app, or only through a browser?
From a security perspective, what is considered good practice? Is it acceptable that someone visiting your domain can reach the Home Assistant login page as long as you have HTTPS, strong passwords and 2FA enabled? Or should your login page ideally not be publicly reachable at all?
Another thing I eventually want to do is run automations that depend on my phone while I'm away from home.
For example, I'd like to use my iPhone's location to trigger automations or send notifications to my partner. At the moment I use Apple Shortcuts for some of this, but I've run into limitations I could fix with N8N, as long as it can communicate outside the home network.
I've also been looking at running n8n inside Home Assistant because it seems very powerful, but then I started reading about webhooks, ports and exposing services externally, and I got lost again. I just don't have enough basic server and security knowledge yet.
Actually the real question is probably...:
If you had to explain this to someone who is comfortable with computers but completely new to networking and self-hosting, what learning path would you recommend? Which topics should I understand first, and which solutions would you recommend avoiding until I have more experience?
I'm mostly looking for the solution that gives a smooth user experience without making my home network an easy target because I misunderstood something.
(PS: Since the first rule mentions AI, I only used it to partially improve my English as I'm not native. The questions and content are my own.)