#!/bin/bash # ============================================================================= # plugin/event/disks_mounted # # Official Unraid plugin event hook — NOT a custom mechanism. Unraid's # emhttpd fires every executable found at # /usr/local/emhttp/plugins//event/ as each boot/array # event happens (see e.g. the real-world unassigned.devices plugin, which # uses this same convention for its own disks_mounted/started/stopping_svcs # hooks). This project relies exclusively on this official mechanism — # specifically NOT on hand-editing /boot/config/go, which is unnecessary # and easy to get wrong across plugin updates/uninstalls. # # "disks_mounted" fires once array disks AND cache pools are mounted — # exactly the precondition unraid-podman needs before it can create/mount # podman.img on the configured cache pool/disk (see # docs/ARCHITECTURE.md section 4.3 and section 6.2). # # Backgrounded (& disown) so array startup / the Main GUI page isn't # blocked on podman's full startup sequence (preflight, storage mount, # service start, autostart chain) — mirrors how unassigned.devices # backgrounds its own longer-running "started" hook. # # podman-mount-managed-disk.sh runs first, still within the same # backgrounded subshell: it's a no-op unless the WebUI's "Format a Disk # for Podman Storage" flow (ajax/disks.php) was ever used, and rc.podman # start's own storage step needs that disk already mounted at # $STORAGE_PATH to succeed — see that script's own header comment. # ============================================================================= (/usr/local/sbin/podman-mount-managed-disk.sh; /etc/rc.d/rc.podman start) > /dev/null 2>&1 & disown