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 accomplish what you are looking for more or less, but it's not an appliance--it's a system of tools that I setup myself and maintain (which I enjoy). But it sounds like you want to avoid doing that.
My solution includes:
This is not at all turnkey and took some time to put together, but I find it to be relatively low ongoing maintenance now that it is setup. And I have pretty good high availability and great rollback/recovery support in the event that something goes sideways with an upgrade or some configuration change I make manually.