- Sicherung von Datenbank und Schlüsseln auf eine Anbindung (scrypt+Fernet), Seite „Sicherung“, /healthz/backup, netmover backup/restore - metrics in /healthz und /healthz/rule/<id> für Kuma-JSON-Abfragen - .gitea/workflows/ci.yml; jede Migration auf befüllter DB getestet - HTTP im internen Netz als bewusste Entscheidung dokumentiert Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
62 lines
2.0 KiB
Bash
Executable File
62 lines
2.0 KiB
Bash
Executable File
#!/bin/sh
|
|
# NetMover auf Debian 13 installieren bzw. aktualisieren (als root ausführen).
|
|
#
|
|
# git clone https://git.wilde-server.de/florian.wilde/netmover.git /opt/netmover/src
|
|
# /opt/netmover/src/deploy/install.sh
|
|
#
|
|
# Spätere Updates: netmover-update (siehe deploy/update.sh).
|
|
set -eu
|
|
|
|
SOURCE="${1:-$(cd "$(dirname "$0")/.." && pwd)}"
|
|
PREFIX=/opt/netmover
|
|
|
|
if [ "$(id -u)" -ne 0 ]; then
|
|
echo "Bitte als root ausführen." >&2
|
|
exit 1
|
|
fi
|
|
|
|
echo "==> Pakete"
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
apt-get update -qq
|
|
apt-get install -y -qq python3 python3-venv cifs-utils nfs-common git >/dev/null
|
|
|
|
echo "==> Virtuelle Umgebung in $PREFIX/venv"
|
|
install -d -m 0755 "$PREFIX"
|
|
[ -x "$PREFIX/venv/bin/python" ] || python3 -m venv "$PREFIX/venv"
|
|
"$PREFIX/venv/bin/pip" install -q --upgrade pip
|
|
"$PREFIX/venv/bin/pip" install -q --upgrade "$SOURCE"
|
|
|
|
echo "==> Konfiguration"
|
|
install -d -m 0755 /etc/netmover
|
|
if [ ! -f /etc/netmover/netmover.env ]; then
|
|
install -m 0640 "$(dirname "$0")/netmover.env" /etc/netmover/netmover.env
|
|
fi
|
|
install -d -m 0755 /mnt/netmover
|
|
|
|
echo "==> Update-Skript und Kommandozeile"
|
|
install -m 0755 "$(dirname "$0")/update.sh" /usr/local/sbin/netmover-update
|
|
# netmover backup/restore/… mit derselben Konfiguration wie der Dienst
|
|
cat > /usr/local/sbin/netmover <<EOF
|
|
#!/bin/sh
|
|
set -a
|
|
[ -r /etc/netmover/netmover.env ] && . /etc/netmover/netmover.env
|
|
set +a
|
|
exec "$PREFIX/venv/bin/netmover" "\$@"
|
|
EOF
|
|
chmod 0755 /usr/local/sbin/netmover
|
|
|
|
echo "==> systemd"
|
|
install -m 0644 "$(dirname "$0")/netmover.service" /etc/systemd/system/netmover.service
|
|
systemctl daemon-reload
|
|
systemctl enable netmover >/dev/null 2>&1
|
|
systemctl restart netmover
|
|
|
|
sleep 2
|
|
systemctl --no-pager --lines=0 status netmover || true
|
|
echo
|
|
if journalctl -u netmover -n 200 --no-pager | grep -q "setup.required"; then
|
|
echo "Ersteinrichtung: Einrichtungscode aus dem Log:"
|
|
journalctl -u netmover -n 200 --no-pager | grep "setup.required" | tail -1
|
|
fi
|
|
echo "Fertig. Weboberfläche: http://127.0.0.1:8080 (README: SSH-Tunnel / Reverse Proxy)"
|