Read the statement by Michael Teeuw here.
How Do You Remotely Manage and Automate Updates for Multiple MagicMirror Setups?
-
Hey everyone,
I help manage several MagicMirror installations in different locations (office, public displays, a couple at home), and I’m exploring ways to remotely monitor, update, and automate their maintenance—almost like a mini SysOps setup.
Would love to hear your thoughts on:
How do you remotely access and update your MagicMirror systems? (SSH, VNC, scripts?)
Has anyone set up automated updates for modules, system packages, or even Pi OS?
Are you using tools like Ansible, Attune, or shell scripts to manage multiple devices?
Any tips on monitoring performance or uptime remotely—like lightweight dashboards or alerts?
I’d love to streamline everything, especially for mirrors running 24/7 in public or semi-unattended setups.
Appreciate any advice or examples of your automation workflows!
Thanks,
-
@WarpWandererX generally im in the camp, if its not broken, dont touch it.
this is not a single app docker container type system
and even on my docker multi container system I’ve been whacked by breaking changes, multiple times, knocking out access as well, when all i had was remote access.
i dont see any process that would make this reliable in an automated way.
sd cards are fragile, lots of writes are bad
os updates in place are fraught with unexpected prompts (like the switch to Wayland now)
you can use my MagicMirror upgrade script to get to next MagicMirror releasebut we have breaking changes too,
like the weather module defaults a couple releases backthe updatenotification module can auto update module changes.
im a change only if broken, test it first guy. its more work,
but the results are better -
Actually your use case is what I am working on the last few weeks. Just to give you some information what I’m doing
- Setup my own Tailscale VPN using Headscale
- This gives me the option to access all machine remotely.
- Setup my own Ansible Server using Semaphore UI
- This allows me to push changes to the clients.
- Setup my own Rustdesk Service for remote-screen access
- Setup “raspberry pi connect” as fallback solution
- Setup of “kuma uptime” for monitoring all clients
For the actual (initial) system setup I use:
- Bash Scripts for initial setup and installations (basiclly what is not done by Ansible)
- Separated into a “sudo” and “non sudo” script
- Ansible Playbook for 80% of software installation (Pi-Apps, Headscale-Config, some Helpers like Bash-Extentsions, uninstalling unneeded softwar, enable system services, …)
- Ansible Playbook for MagicMirror Installation
- Ansible Playbook for modules installation
- Ansible Playbook for some CRON Jobs
There a a couple of things/tasks left, which I need to do manually
- Preparing the
config.js
because every MagicMirror installation needs a different one - Optimizing the scripts and ansible playbooks. It works for me, but some parameters would be great.
- Many things I do not remember here :D
The update process are something which I do not include in the automations. There are too many manual steps and checks to include. Apart from that I’ll try to avoid update as long as I can - never touch a running system ;)
- Setup my own Tailscale VPN using Headscale
-
@WarpWandererX said in How Do You Remotely Manage and Automate Updates for Multiple MagicMirror Setups?:
Has anyone set up automated updates for modules, system packages, or even Pi OS?
I played around with bootc a few months ago and used mm as example.
It uses fedora as os and it gets weekly updates.
-
@karsten13 it’s very easy!