New to HA - need to confirm I can use ngrok

I just installed HA for the first time on a raspi 4 (early release, I think)
Version: core-2021.12.1

I need ngrok because the setup I’m working on will be on a farm with hughesnet provider; that’s a funky satellite connection and they don’t allow a dynamic dns setup. I have pfsense running behind the hughesnet modem and that’s nice, but so far it seems something like ngrok is my last hope to get to the HA server from my home (not on the farm).

I thought I’d just do what I did on my Node-Red box:

  • wget the ngrok application
  • create a local yaml config
  • create a systemd startup script in /etc/systemd/system/
  • enable and start the ngrok service
  • and done…

I set up a thumb drive named CONFIG and added an authorized_keys file with public key.
running: ssh [email protected] -p 22222 gets nowhere… permission denied… I don’t think it looks in the CONFIG thumb drive.

I used the web terminal piece and looked for systemctl but no luck. With a little scouting around I found that maybe the OS is running supervisor as the startup engine. I’ve never used Supervisor (service/init.d, systemctl - yes) but if that’s what it takes… fine. Can someone give me a hint how that works within HA environment, please.

Also, I see references to add-ons that I cannot find. Did I download the wrong version?

Thanks in advance for any tips.


You can’t go install packages in the base OS if you’re using Home Assistant OS

You can however run Home Assistant Container (native Docker) and do what you want. Alternatively a quick Google found that there’s an NGROK add-on.

Thanks, Tinkerer.

“can’t go install packages in the base OS if you’re using Home Assistant OS” - Perhaps I got the HA for dummies version. :wink: To be clear, just joking. It looks like an impressive application.

Although, I am curious as to why I can’t extend the application with my own service configurations. For example, it seems the module you referenced (and I thank you) is sadly deprecated. So to get that feature, which is critical to me accomplishing my goal of making this remotely available from behind a hughesnet router, and which I need to get done in less than a week (amongst many other things) all of a sudden becomes kind of a deal breaker for me. I have to learn how the old one works, how the framework works for add-on modules, and test it to make sure it will launch in another home network. It seems a bit over-complicated when I think I could implement this as an ansible playbook that installs ngrok with it’s associated service in about half an hour. I’ve done it on a node-red/raspi instance where I needed random access from the last maker faire in the bay area. I’ve also used it on a node/express gallery site I built to easily make it available for demos.

I note you called it Home Assistant OS. Perhaps there’s another version where I could gain easier access to the os. I guess I’m not really sure what version is running HA OS. Nor could I find systemctl as I was expecting on a debian or centos system.

You also mentioned a container approach using docker. I also find that somewhat complicated, especially for just a few applications. I have a docker instance running with portainer on my KVM home lab but it seems to be more maintenance than its worth.

In general, I use a single raspi per major functional component in my home automation setup. Node-red (for the signal wiring), grafana (charting/trending), a diy xbee gateway (for xbee sensors), rocket-chat (for chatting with my home and with a tie in to alexa), and an NTP server based on a GPS device for an unconnected network. Now I plan to add the GUI capabilities of Home assistant into this mix. I use ansible as my main deployment tool so I won’t have to manually do things more than once.

Is there a version of HA that’s just the application on good old raspbian?

HAOS is designed as an “appliance like experience”

If you want full flexibility use the Container (native Docker) install method. You don’t get add-ons or the Supervisor, but you do get the ability to do what you want on the host.

And yes, you can install HA in a Python venv, know as the Core install method. You have to update that with a new version of Python every year though - Docker is easier.

Seems a stark decision… either you go with something you can’t modify (under the sheets), or you have to go with a container model in which you don’t get addons (which I assume are one of the aspects that makes HA so great) or the supervisor (which I understand if for maintenance?).

Alternatively, if I go for regular python with venv (in which I rarely use venv but perhaps time to learn) it seems somewhat tedious to keep having to update python versions.

I have a KVM instance running docker testing but it always seems like it is an extra layer for monolithic applications like HA. I’ve always thought containers are best used for concise components that perform specific functions very well and can be orchestrated and scaled as needed. I don’t yet understand running a large application in a container.

I’ll pick this up in the new year when I have more of a chance to learn more about HA. Thank you.

Add-ons are just modified Docker images built for the Supervisor.

The Supervisor just brings add-ons and native “backups” (I put that in quotes since they’re snapshots kept on the host - they’re not really backups until they’re off the computer).

In short they bring nothing you can’t do for yourself.

Except of course HAOS uses Docker under the hood. Containers are useful for many reasons, scaling is just a tiny part of that.