Table of Contents


SnapRAID AIO Plugin For OMV8

SnapRAID AIO Plugin for OMV8

Summary

SnapRAID AIO is an OpenMediaVault 8 plugin that wraps the popular snapraid-aio-script around your SnapRAID arrays. It lets you configure, schedule, and monitor one or more arrays independently from the OMV web interface, with support for email, Apprise, and Healthchecks.io notifications, Docker container management, sync/scrub thresholds, and custom hooks.

This plugin requires the openmediavault-snapraid plugin to be installed first. That plugin provides the SnapRAID binary and the array configuration that this plugin reads.

SnapRAID AIO is a full replacement for the built-in diff script included in the openmediavault-snapraid plugin. It covers everything the diff script does (sync, scrub, notifications) and adds significantly more control.

  Note
If you are currently using the built-in diff script, disable its schedule before enabling SnapRAID AIO. Running both against the same array at the same time will cause conflicts.

SnapRAID AIO is third-party software. For questions about the underlying
script, see the upstream repository.

Prerequisites

Installation

  1. Navigate to System → Plugins.
  2. Search for snapraid-aio.
  3. Click Install.

Quick Start

After installation a new entry SnapRAID AIO appears in the Services menu.

The recommended workflow for a new array:

  1. In the SnapRAID plugin, create and configure your array (parity, data disks).
  2. Run an initial sync from the SnapRAID plugin so the parity is established.
  3. Open Services → SnapRAID AIO.
  4. Click Create and select your array.
  5. Configure notifications, thresholds, and scrub settings.
  6. Click Schedule to set up the automated run.

  Warning
Always run an initial sync before scheduling SnapRAID AIO. The AIO script expects parity to already exist and will not create it from scratch. You can run the initial sync from SnaRAID plugin or from AIO itself using "Sync" feature.

Config List

The main view shows a table of all AIO configurations.

Column Description
Array Human-readable name of the SnapRAID array
Scheduled Check mark if an automated schedule is configured
Last Run Timestamp and outcome of the last script execution (OK / WARNING / Started)
Config File Path to the underlying SnapRAID .conf file

Toolbar Actions

Action Description
Create Add a new AIO configuration
Edit Modify the selected configuration
Schedule Configure or change the cron schedule for this configuration
Delete Remove the configuration, its generated config file, and its cron entry

Tools Menu

Each row has a Tools submenu with the following actions:

Tool Description
Run Now Execute the AIO script immediately for this array
Force Sync Run the AIO script bypassing delete and update thresholds (use with caution)
Sync Run a raw `snapraid sync` — useful after initial array setup before the first AIO run
Last Log Display the most recent log file produced by this array's script run

Configuration Form

The configuration form is divided into several sections.

Array Selection

The top of the form contains a single required field:

Email Notifications

Healthchecks.io

Apprise Notifications

Apprise is a unified notification library supporting Telegram, Discord, Slack, Gotify, Ntfy, Pushover, and dozens of other services. It is installed automatically via `pipx` on the first run if enabled.

  Note
Apprise is installed automatically via `pipx` the first time the script runs with Apprise enabled. No manual installation is needed, but internet access is required on that first run.

Apprise Email

Apprise can also send email directly via SMTP or provider-specific URLs, independently of OMV's built-in notification system.

Sync Thresholds

Thresholds prevent accidental mass deletions or updates from being synced to parity. The script aborts and issues a warning when a threshold is exceeded, unless the warning count reaches the configured limit.

Scrub Settings

SnapRAID scrub verifies stored parity data against your files to detect silent bit-rot.

SnapRAID Options

  Warning
Disk spindown requires hd-idle to be installed on the system. It is not installed automatically. Without it, the setting has no effect.

Docker and Service Management

When enabled, the script pauses or stops your Docker containers before running SnapRAID operations and restores them afterward, preventing open-file conflicts.

Custom Hooks

Custom hooks let you run arbitrary shell commands or scripts before and after the SnapRAID operations.

Scheduling

Each configuration has its own independent schedule. Click the Schedule button on a row to open the schedule form.

Field Description
Enable Enable or disable this schedule without deleting it
Time of execution Preset intervals (Hourly, Daily, Weekly, etc.) or Custom for full cron control
Minute / Hour / Day of month / Month / Day of week Active when Time of execution is set to Custom
Send email on completion OMV-level cron email (separate from AIO script notifications)
Comment Label shown in the OMV cron list; auto-filled with the array name

The cron job runs as root and calls:

/usr/sbin/snapraid-aio-script.sh --config /etc/snapraid-aio-<uuid>.conf

Notes

Log Files

Each script run produces a dated log file (`SnapRAID-YYYY-MM-DD_HH-MM-SS.txt`) in the configured log directory. These are the files shown by the Last Log tool. A central summary log at `/var/log/snapraid.log` is also maintained and is used to populate the Last Run column in the config list.

Per-Array State Files

The plugin stores two counter files per configuration in `/var/lib/snapraidaio/`:

These files are removed when the configuration is deleted.

Force Sync

  Note
Force Sync bypasses all delete and update thresholds and syncs unconditionally. Only use this when you are certain the changes are intentional (e.g. after a large planned deletion or reorganization). You will be asked to confirm before the action runs.

Troubleshooting

Symptom Likely cause Resolution
No arrays appear in the selector SnapRAID plugin not installed or no arrays configured Install openmediavault-snapraid and create at least one array
Last Run shows WARNING Threshold exceeded, or SnapRAID reported an error Check the run log via Tools → Last Log
Apprise test fails Apprise not yet installed, or URL incorrect Verify the URL format against the Apprise documentation; check that pipx is available
Schedule shows “not scheduled” after saving Schedule was not yet created Click Schedule on the row and configure a time
Docker containers not being managed Wrong mode, or containers not running when config was saved Refresh the container list by editing the config

Source Code