I currently have a Docker setup that I’m really happy with consisting of a NUC running minimal Ubuntu server. I only run 5 containers but kinda need them to be pretty reliable (i.e. my whole home becomes pretty annoying to use if HA has downtime):
- HomeAssistant
- ESPHome
- MQTT
- Scrypted
- Static nginx instance
My desire for reliability is at odds with my stronger desire to avoid spending time on maintenance - I work in front of computers the last thing I want to do is fix my own IT woes! Therefore to avoid having to perform manual updates etc I have a small cron task that weekly:
- Does a full unattended apt upgrade
- runs “docker compose pull” and “docker compose up -d” for all containers.
This is all done with via a YOLO SLA approach with no continual backups and no rollback possibilities 🤦♂️
This is the bit that scares me - everything has been (surprisingly) fine for around 18 months but I am fully aware one bad update could really ruin my day especially with no downgrade path.
I was wondering if anyone could recommend a more appliance based system that I could use to essentially monitor, upgrade and manage both the host OS and containers. My googling isn’t turning up much unfortunately. Ideally I’d like features such as:
- Docker compose support
- Automated backups (preferably with S3 support)
- Unattended container upgrades
- Container health monitoring.
- Rollback support if an upgrade goes bad
- A nice web UI
I don’t care if this is software/hardware, free/paid (within reason) I just want something really simple that is designed for reliability and uptime.
Many thanks
I don't think such a thing exists. It clashes with the idea of selfhosting. You can shoestring a solution that will do what you ask but it won't be an appliance/application that someone else maintains.
Weekly unattended apt and docker updates are actually worse than manual ones. I update maybe once a month. Watchtower takes care or checking and downloading new updates but I'm the one to redeploy containers with the new image.
The closest thing that comes to mind is Portainer. It offers point 1, 4, 6. The Business edition has update checking built into the UI. The Community edition lacks update checking but you can substitute it (and improve on it IMO) with Watchtower.
Watchtower can check and download updates while you just click redeploy.
For backups, try Nautical Backup
This leaves only rollbacks unaddressed. But realistically, on a hands-off box, you won't need it and if you do, copying over from the backup will be enough.