Smart mirror dashboard. One binary, no dependencies, no headaches.
The most popular open source smart mirror project currently is MagicMirror². It's an awesome modular dashboard with a large community and a rich ecosystem of modules, however it has some annoyances. The main one being its dependency on Node.js, which can be a pain to maintain. As long-term support for older versions of Node.js ends, new versions require you to update Raspberry Pi OS distros due to dependencies. MagicMirror² also depends on a large number of npm packages, which need to be updated regularly to avoid potential security vulnerabilities. These factors combined, at least in my experience, are a lot of maintenance overhead for a dashboard that rarely needs changing once configured and set up.
Resilver tries to take a different approach. It's a compact single ~7 MB statically compiled binary that you download and run. No package manager, no dependencies, and sensible defaults out of the box. It's designed to be minimalistic, reliable, and self sufficient without the constant need of maintenance.
| Resilver | MagicMirror² | |
|---|---|---|
| Install | Download one binary | Node.js + npm install |
| Dependencies | 0 | 400+ |
| Binary size | ~7 MB | ~200 MB installed |
| Configuration | Single JSON file | JS config + per-module JS |
| Updates | Built-in self-update | Manual git pull + npm |
| Language | Go | Node.js |
MagicMirror² is a awesome solution for those who want lots of module options and a great community, as long as they don't mind the maintenance overhead or potential breaking changes. Resilver is for those who crave a minimal setup with little to no maintenance, and are happy with a smaller selection of built-in widgets. If would like to contribute to expanding our widget selection, see our contributing guidelines.
- Zero dependencies — nothing to install, just download and run
- Self-updating — automatic updates with checksum verification
- Modular design — add new custom widgets to fit your needs
- Dynamic layout — responsive grid with auto-spanning
- Fully configurable — single source of truth for all settings, layout and widgets
| Widget | Description |
|---|---|
| Clock | 12h/24h format with optional seconds and date |
| Weather | Current conditions via Open-Meteo. No API key needed |
| News | Multi-source RSS aggregator with images and auto-cycling |
More widgets comming soon but if you can't wait, and want to build your own? See our contributing guidelines.
- Any modern browser (Chromium recommended for kiosk mode)
- A linux-based OS (Raspberry Pi OS, Ubuntu, etc.)
- Go 1.26.2+ (only if building from source)
curl -LO https://github.com/digibituk/resilver/releases/latest/download/resilver-linux-arm64
chmod +x resilver-linux-arm64
./resilver-linux-arm64Open http://localhost:8080 in a browser.
For a true smart mirror experience, download and launch Chromium in kiosk mode.
chromium-browser --kiosk --noerrdialogs --disable-infobars http://localhost:8080On a Raspberry Pi, you can add this to your autostart so it launches on boot up.
podman compose upgit clone https://github.com/digibituk/resilver.git
cd resilver
make runResilver works out of the box with sensible defaults. To customise, copy config.json from the source and pass it at startup:
./resilver --config /path/to/config.json| Section | What it controls |
|---|---|
server |
Port the dashboard is served on |
theme |
Theme settings, currently only supports accent color. |
layout |
Configure grid layout order, direction (row/column), and max widget count. Widgets render in array order; last widget in an odd count auto-spans the remaining space. |
modules |
Per-widget settings. Each widget can be configured individually. |
update |
Self-update configuration. On by default. |
Resilver is open source and any contributions are welcome!
