A modern web interface for SnapRAID.
Sync, scrub, schedule and watch your disks, from any browser, without touching the command line.
Features • Screenshots • Quick start • Documentation • Development
SnapRAID is a great way to protect a home server's disks, but day to day it means cron jobs, log files and remembering the right flags. SnapRAID UI puts all of it in one place:
- See the state of your array at a glance instead of reading
snapraid statusoutput. - Run and schedule jobs with a click, with live output and a log of every run.
- Hear about problems right away through push, e-mail or webhook, before a second disk fails.
- Get guided through the hard parts, like replacing a failed disk or a run SnapRAID stopped for safety.
|
|
|
|
|
|
The Docker image ships with SnapRAID 14, so nothing needs to be installed on the host.
docker run -d --name snapraid-ui \
--privileged \
-p 3000:80 \
-e TZ=Europe/Berlin \
-e SNAPRAID_UI_USERNAME=admin \
-e SNAPRAID_UI_PASSWORD=change-me \
-v ./snapraid:/app/snapraid \
-v /mnt/disk1:/mnt/disk1 \
-v /mnt/disk2:/mnt/disk2 \
-v /mnt/parity:/mnt/parity \
tristanteu/snapraid-ui:latestPut your snapraid.conf into ./snapraid/ (or add or create one under Manage Configurations) and open
http://localhost:3000.
- Mount your disks at the same paths as on the host, so the paths in
snapraid.confstay valid. --privilegedis only needed for SMART data and the disk power state.TZsets the time zone your schedules run in (UTC otherwise).- Prefer Compose or Podman? See Installation.
Important
Use the bundled SnapRAID rather than your distribution's. The UI reads SnapRAID's structured log, which exists only since version 14.0, and most distributions still ship 12.x. If cron jobs on the host run SnapRAID for the same array, move them to the UI's scheduler.
Everything in detail lives in docs/:
| Installation | Docker, Compose and Podman, disks and paths, reverse proxy, updates |
| Configuration | Environment variables, data directory, log retention |
| Using SnapRAID UI | Dashboard, commands, reports, safety stops, command palette |
| Scheduling · Notifications | Automate jobs and get told when something goes wrong |
| SMART & disk health · Logs | What the UI watches and how to read it |
| Managing disks | Config editor, adding, replacing and removing disks, backup |
| Security · Troubleshooting | Login and exposure, common problems |
| Architecture · Development | How it works, API, contributing |
Requires Node.js 22+, Deno 2.5+ and the fish shell for start.sh.
git clone https://github.com/firsttris/snapraid-ui && cd snapraid-ui
./install.sh
./start.sh --demo # sandbox with fake disks, no real array neededThe frontend runs on http://localhost:3000, the API on http://localhost:8080. Built with Deno + Hono, React 19, TanStack Start, Tailwind CSS and shadcn/ui. See Development for the project layout, tests and translations.
Issues and pull requests are welcome. Please run npx biome check, npm run typecheck and the tests
(deno test --allow-all in backend/, npm test in frontend/) before opening a pull request.
Not affiliated with the SnapRAID project. SnapRAID is developed by Andrea Mazzoleni.





