Outgrowing HassOS but not looking forward to docker install - backup hints welcome

hi,

HassOS has its ease of use going for it but I’m hitting limitations. I was excited with SSD/HDD boot support and I’m a big fan of google backup addon, but here is where it goes wrong: I like it so much I’m probably starting to use it for the wrong purpose.

I’m using MotionEye addon but on a 32GB SD card you quickly hit the limit on recording clips. Also you don’t necessarily want them in your backup, but HA backup does not allow me to exclude folders from /share so I ended up no longer recording them.

Also, now that I’m booting from an SDD I experimented a bit and added an HDD. So, enter Plex and then it goes downhill very fast: modify Samba addon to expose the second drive, modify Plex addon to see the hard drive for content (I don’t transcode) and (not started yet) modify MotionEye so recordings are feasible again as I can store them on the HDD. Yuk!

When I say modify that is not strictly true: you could just use the existing docker images and run them with different -v mappings.

I really like HassOS but I think I’m pushing it too far now, although a feature request for volume mappings could fix my issues - though I doubt if that is realistic. So, is there an idiot proof backup solution for the faint of heart?

I will need to re-read the docker install guide but I need a good backup solution with sync to offline for that route to become a viable option. So what is your strategy for backup? I think I want local + offsite and a few versions but nothing crazy. Currently I do a weekly backup.

Running: HassOS Hassio on an RPI3B+ with 240GB SSD and 2TB HDD.

Thx for reading all the way until the end!
Jhh

Running the Hassio installer on Raspbian might be a good choice. Then you still have the snapshot feature of Hassio, and you also have control over the host OS.

Backing up I just use the Hassio snapshots and the plugin to sync periodically to google drive.

Installing Hassio on top of Ubuntu shouldn’t be that bad. I feel like I have done this a million times. Install ubuntu, install SSH, SSH into the box then run:

sudo -i
add-apt-repository universe
apt-get update
apt-get install -y apparmor-utils apt-transport-https avahi-daemon ca-certificates curl dbus jq network-manager socat software-properties-common
curl -sSL https://get.docker.com | sh
curl -sL “https://raw.githubusercontent.com/home-assistant/hassio-installer/master/hassio_install.sh” | bash -s

Thanks for pointing that out - I had missed that addons were in Hassio also - I thought it was an HassOS enabled feature in Hassio?

I cannot expect snapshots wih the backup addon to cover my non-standard tweaking, ie. running regular addons with a non standard -v mapping. It may be easier to leave the enhanced docker containers out of the Hassio addon section and start reading up on docker compose.

What I do now is: I install an addon so I have the image and then stop the container and restart it with my own mappings in ssh docker run, Portainer does that also but commandline is easier. I suppose a script in the share folder will be backed up by the google backup addon also so I could store it over there for safekeeping.

Thx!

No prob. The add-ons are a result of the Hassio installation method specifically, regardless of the host OS it’s installed on (HassOS, Raspbian, etc.)

I’ve been in your shoes exactly (starting playing with Plex, MotionEye and ran into issues) and you will eventually switch to a NUC, or spare laptop running Linux. I recommend you spend a weekend learning Docker, set up a persistent volume (for Plex), learn how Docker configs work. Try installing some Docker containers like Plex, torrent client + VPN, Portainer, Radarr, Sonarr, so you learn to setup volumes and change the environment variables on your own.

When you’re ready, @kanga_who’s installation guide is pretty easy to follow to install Hass.io on a device running Linux.

For automated backups, use the Google Drive backup add-on, it’s great. Be careful if MotionEye is capturing videos as that will be included in the backups. I migrated from an rPi3 to a x86 laptop running Debian Buster and Docker and restored my Home Assistant snapshot without any issues except changing IP addresses. I think it took me one hour to complete, but YMMV.

1 Like

@jhhbe, as @dwinnn has linked too, follow the guides I have available for both Pi’s and PC/NUC install. If you can read, copy, and paste, you’ll be 99% there.

Docker is easy to use, and in many cases, you can get things up and running by just copy and pasting the examples provided by most docker providers in their example config sections. Certainly worth watching some YouTube videos about to understand it a little more.

I would highly recommend you use Portainer, especially while learning about Docker. You can play around with deploying Docker containers, and if they don’t work as intended, Portainer makes it super simple to remove them and start again.

@kanga_who of course I am familiar with your guide! It’s a must read, but I noticed that on:

add-apt-repository universe

I got:

add-apt-repository universe
Traceback (most recent call last):
  File "/usr/bin/add-apt-repository", line 95, in <module>
    sp = SoftwareProperties(options=options)
  File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 109, in __init__
    self.reload_sourceslist()
  File "/usr/lib/python3/dist-packages/softwareproperties/SoftwareProperties.py", line 599, in reload_sourceslist
    self.distro.get_sources(self.sourceslist)    
  File "/usr/lib/python3/dist-packages/aptsources/distro.py", line 93, in get_sources
    (self.id, self.codename))
aptsources.distro.NoDistroTemplateException: Error: could not find a distribution template for Raspbian/buster

Even without that repository I could install docker and hassio and did notice that addons are not exclusive to the HassOS version of Hassio :blush:. I used the Raspbian buster desktop version and (probably due to a few experiments too many) I managed to hang the PI. For sure not okay behavior for HA.

Lesson learned is that it doesn’t hurt to keep HA quite dedicated to HA only. With a growing number of containers I’m hitting memory limit of a 3B+ anyhow.

So what do you use to backup your docker setup as HA snapshots look only at HA? Most likely I’ll have a second non-HA Pi with a few containers which will need a backup too?

Thanks for that guide!
jhh

is for Ubuntu only. Debian and Raspbian do not support this

Double checked - that statement is in both guides. Anyhow I can confirm that the Raspbian version is happy without it.

Jhh

I have everything on a synology nas, couldn’t be happier! Just make sure that you have a synology with an Intel processor. It is quite an investment up front but to have a low power always on device pays back in the end. I run about 10 docker containers on it and it all works like a charm.

And, docker is really easy-peasy. For backup, I use git for all my configs.

Since it doesn’t exist on Raspbian/Debian it doesn’t matter if you have it in there, since there is no UNIVERSE repo. It shouldn’t be in both guides, so @kanga_who can fix it in the Raspbian guide.

1 Like

@rdehuyss I’m not complaining about hardware performance - the SSD gave HA quite a boost on RPI 3B+ so happy enough with that. Postponing to move to an RPI4 as it looks like those will be happier with active cooling.

git for configs I’ll need to read up on - for Plex I don’t want to back up content, I would be happy with copy of configuration only. So it looks like that would be a fit for what I need. Plex caused me to modify samba so I could get content in Plex outside HA snapshots, probably easier to take both off HomeAssistant.

Thanks!

Thank you all for helping me learn!

ok - here is what I learned so far: with an SSD powered PI 3B+ dedicated to HassOS HA I’m quite happy with performance (after removing some addons so I’m good on memory again).

Rather than adding more addons on the main setup -because you can- limit the addons to what has a very close dependency/link to HA.

I used a second PI to move some applications under a docker stack. Portainer talks to git as @rdehuyss mentioned (though I don’t know if it’s portainer or docker-compose that he has talking to git). So MotionEye and Plex went off the main HA PI on a second one and Portainer addon in HA shows both docker environments nicely.

Caddy addon puts a reverse proxy in front of HA + other PI with its apps and it looks like one seamless experience even though they are on different PIs.

RPIs simply aren’t there yet to have Plex server transcoding on the fly - if you don’t need transcoding though it will work fine. Rather than moving to one NUC (where I would again try to put too much on one box) I prefer having a few RPIs.

Finally you need to put some thinking in what directory structure you build, I don’t think I got that right from the start but I think it will help to get a simple backup definition in place. (as mentioned before: I didn’t want Plex content and MotionEye recordings in my regular HA snapshots).

You may be different though…

Jhh