feat(host-agent): Linux-Release als Zip mit Dienst-Installer

Statt der nackten Binary haengt release_agent.sh jetzt
aria-host-agent-linux-x64-v<version>.zip an: Binary, install-service.sh,
aria-host-agent.service, .env.example und LIESMICH.txt (Start direkt oder
als systemd-Dienst). Ausfuehrbar-Rechte bleiben beim Entpacken erhalten.

install-service.sh startet den Dienst neu statt nur "enable --now" — so
laedt ein Update die neue Binary auch, wenn der Dienst schon laeuft.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-25 14:17:33 +01:00
co-authored by Claude Opus 5.5
parent d474447e54
commit 2a18280863
3 changed files with 41 additions and 3 deletions
+4 -1
View File
@@ -151,7 +151,10 @@ Danach die `.env` unter `%ProgramData%\ARIA-Host-Agent\` mit RVS-Zugang +
SKIP_WINDOWS=1 ./release_agent.sh # ohne Windows (schneller) SKIP_WINDOWS=1 ./release_agent.sh # ohne Windows (schneller)
``` ```
Assets: `aria-host-agent-linux-x64`, `aria-host-agent-android-agent-v<v>.apk`, Assets: `aria-host-agent-linux-x64-v<v>.zip` (Binary + `install-service.sh` +
systemd-Unit + `.env.example` + `LIESMICH.txt` — entpacken, `.env` anlegen, dann
`./aria-host-agent` oder als Dienst `sudo ./install-service.sh ./.env`),
`aria-host-agent-android-agent-v<v>.apk`,
`aria-host-agent-windows.exe`, `aria-host-agent-windows-setup.exe`. **macOS** ist `aria-host-agent-windows.exe`, `aria-host-agent-windows-setup.exe`. **macOS** ist
nicht Docker-baubar — auf einem Mac `./build-native.sh` laufen lassen und das nicht Docker-baubar — auf einem Mac `./build-native.sh` laufen lassen und das
Ergebnis vor dem Release nach `dist/aria-host-agent-macos` legen, dann nimmt das Ergebnis vor dem Release nach `dist/aria-host-agent-macos` legen, dann nimmt das
+4 -1
View File
@@ -66,7 +66,10 @@ else
fi fi
systemctl daemon-reload systemctl daemon-reload
systemctl enable --now aria-host-agent systemctl enable aria-host-agent
# restart statt "enable --now": bei einem Update laeuft der Dienst schon und
# muss die NEUE Binary laden
systemctl restart aria-host-agent
echo echo
echo "✓ Installiert & gestartet." echo "✓ Installiert & gestartet."
+33 -1
View File
@@ -106,6 +106,38 @@ LINUX_BIN="$SCRIPT_DIR/dist/aria-host-agent"
[ -f "$LINUX_BIN" ] || { echo -e "${RED}Linux-Binary fehlt: $LINUX_BIN${NC}"; exit 1; } [ -f "$LINUX_BIN" ] || { echo -e "${RED}Linux-Binary fehlt: $LINUX_BIN${NC}"; exit 1; }
echo -e " ${GREEN}✓${NC} Linux-Binary ($(du -h "$LINUX_BIN" | cut -f1))" echo -e " ${GREEN}✓${NC} Linux-Binary ($(du -h "$LINUX_BIN" | cut -f1))"
# Linux-Paket: Binary + Dienst-Installer + Unit + .env-Vorlage in EINER Zip —
# entpacken, .env anlegen, optional als Dienst installieren.
LINUX_PKG_NAME="aria-host-agent-linux-x64-v$VERSION"
LINUX_ZIP="$SCRIPT_DIR/dist/$LINUX_PKG_NAME.zip"
PKG_TMP="$(mktemp -d)"
mkdir -p "$PKG_TMP/$LINUX_PKG_NAME"
install -m 0755 "$LINUX_BIN" "$PKG_TMP/$LINUX_PKG_NAME/aria-host-agent"
install -m 0755 install-service.sh "$PKG_TMP/$LINUX_PKG_NAME/install-service.sh"
install -m 0644 aria-host-agent.service "$PKG_TMP/$LINUX_PKG_NAME/aria-host-agent.service"
install -m 0644 .env.example "$PKG_TMP/$LINUX_PKG_NAME/.env.example"
cat > "$PKG_TMP/$LINUX_PKG_NAME/LIESMICH.txt" <<EOF
ARIA Host-Agent $VERSION (Linux x86_64)
1) Zugangsdaten eintragen:
cp .env.example .env && nano .env (RVS_HOST, RVS_PORT, RVS_TOKEN, ...)
2a) Einfach starten (laeuft, solange das Terminal offen ist):
./aria-host-agent
2b) ODER als Dienst installieren (startet automatisch mit dem Rechner):
sudo ./install-service.sh ./.env
Danach: systemctl status aria-host-agent · journalctl -u aria-host-agent -f
Update: neue Zip entpacken, nochmal sudo ./install-service.sh /etc/aria-host-agent/.env
Screenshots brauchen eine grafische Sitzung — als Dienst gehen sie nur mit
DISPLAY/XAUTHORITY in der Unit (siehe aria-host-agent.service).
EOF
rm -f "$LINUX_ZIP"
( cd "$PKG_TMP" && zip -qr "$LINUX_ZIP" "$LINUX_PKG_NAME" )
rm -rf "$PKG_TMP"
echo -e " ${GREEN}✓${NC} Linux-Paket $LINUX_PKG_NAME.zip ($(du -h "$LINUX_ZIP" | cut -f1))"
( cd android && ./build.sh >/dev/null ) ( cd android && ./build.sh >/dev/null )
APK="$SCRIPT_DIR/android/dist/aria-android-agent.apk" APK="$SCRIPT_DIR/android/dist/aria-android-agent.apk"
[ -f "$APK" ] || { echo -e "${RED}APK fehlt: $APK${NC}"; exit 1; } [ -f "$APK" ] || { echo -e "${RED}APK fehlt: $APK${NC}"; exit 1; }
@@ -130,7 +162,7 @@ echo ""
# Asset-Liste aufbauen: "lokaler_pfad::asset-name" # Asset-Liste aufbauen: "lokaler_pfad::asset-name"
ASSETS=( ASSETS=(
"$LINUX_BIN::aria-host-agent-linux-x64" "$LINUX_ZIP::$LINUX_PKG_NAME.zip"
"$APK::aria-host-agent-android-$TAG.apk" "$APK::aria-host-agent-android-$TAG.apk"
) )
# Native Artefakte (nur wenn vorhanden): Windows aus build-win.sh, macOS # Native Artefakte (nur wenn vorhanden): Windows aus build-win.sh, macOS