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:
@@ -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
|
||||||
|
|||||||
@@ -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."
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user