Initial Backupper Unraid plugin

This commit is contained in:
Mikei386
2026-06-13 22:07:31 +02:00
commit 5352a9da22
39 changed files with 3167 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
<?xml version="1.0"?>
<!DOCTYPE PLUGIN [
<!ENTITY name "backupper">
<!ENTITY author "Backupper Project">
<!ENTITY version "0.1.0">
<!ENTITY pluginURL "https://git.casaderoll.de/michael/BackUpper/raw/branch/main/dist/backupper.plg">
<!ENTITY packageURL "https://git.casaderoll.de/michael/BackUpper/raw/branch/main/dist/backupper-&version;-x86_64-1.txz">
<!ENTITY packageSHA256 "REPLACE_DURING_RELEASE">
]>
<PLUGIN name="&name;" author="&author;" version="&version;" pluginURL="&pluginURL;" min="7.0.0" support="https://github.com/backupper-unraid/backupper/issues">
<CHANGES>
### 0.1.0
- Initial MVP release.
</CHANGES>
<FILE Name="/boot/config/plugins/&name;/backupper-&version;-x86_64-1.txz" Run="upgradepkg --install-new">
<URL>&packageURL;</URL>
<SHA256>&packageSHA256;</SHA256>
</FILE>
<FILE Run="/bin/bash">
<INLINE>
chmod 0700 /boot/config/plugins/&name;
/etc/rc.d/rc.backupper start
</INLINE>
</FILE>
<FILE Run="/bin/bash" Method="remove">
<INLINE>
/etc/rc.d/rc.backupper stop || true
removepkg &name;
rm -rf /usr/local/emhttp/plugins/&name; /usr/local/libexec/&name; /usr/local/sbin/backupperd /etc/rc.d/rc.backupper /run/backupper /var/lib/backupper
</INLINE>
</FILE>
</PLUGIN>
+12
View File
@@ -0,0 +1,12 @@
#!/bin/bash
set -e
CONFIG=/boot/config/plugins/backupper
mkdir -p "$CONFIG" /run/backupper /var/lib/backupper
chmod 0700 "$CONFIG"
chmod 0750 /run/backupper /var/lib/backupper
if [ -x /etc/rc.d/rc.backupper ]; then
/etc/rc.d/rc.backupper restart || true
fi
+40
View File
@@ -0,0 +1,40 @@
#!/bin/bash
DAEMON=/usr/local/sbin/backupperd
PIDFILE=/run/backupper/backupper.pid
LOGFILE=/var/log/backupper.log
start() {
mkdir -p /run/backupper /var/lib/backupper /boot/config/plugins/backupper
chmod 0750 /run/backupper /var/lib/backupper
chmod 0700 /boot/config/plugins/backupper
if [ -s "$PIDFILE" ] && kill -0 "$(cat "$PIDFILE")" 2>/dev/null; then
return 0
fi
nohup "$DAEMON" >>"$LOGFILE" 2>&1 &
echo $! >"$PIDFILE"
}
stop() {
if [ -s "$PIDFILE" ]; then
PID=$(cat "$PIDFILE")
kill "$PID" 2>/dev/null || true
for _ in $(seq 1 30); do
kill -0 "$PID" 2>/dev/null || break
sleep 1
done
kill -9 "$PID" 2>/dev/null || true
rm -f "$PIDFILE"
fi
}
case "${1:-}" in
start) start ;;
stop) stop ;;
restart) stop; start ;;
status)
if [ -s "$PIDFILE" ] && kill -0 "$(cat "$PIDFILE")" 2>/dev/null; then echo "backupperd is running"; else echo "backupperd is stopped"; exit 1; fi
;;
*) echo "Usage: $0 {start|stop|restart|status}"; exit 2 ;;
esac
+12
View File
@@ -0,0 +1,12 @@
backupper: Backupper for Unraid
backupper:
backupper: Native Restic backup management for Unraid 7.
backupper: Provides encrypted, deduplicated and versioned backups,
backupper: snapshot browsing, restores, scheduling and notifications.
backupper:
backupper: https://github.com/backupper-unraid/backupper
backupper:
backupper:
backupper:
backupper: