Native Android monitoring and operations console for Unraid servers.
中文安装、UPS Bridge 和 XFileManager 使用条件请参阅
docs/中文使用说明.md。
Version 0.15.2 is an installable native Unraid monitoring and operations build. It includes:
- HTTPS-aware first-run login with required server name, address, live certificate validation, and unified API Key verification.
- Explainable server health dashboard with CPU, memory, storage, UPS, service, alert, and Docker shortcut cards.
- Clickable CPU, memory, storage, UPS, and health detail pages with two-second refresh, per-thread CPU load, breakdown charts, disk state, and 30-second trends.
- Follow-system dark mode plus manually selectable dark and light industrial themes.
- Native Android file browser backed by the xfilemanager-app JSON API, with login, upload, download, folders, rename, guarded deletion, and Android Keystore credential storage. It does not embed the XFileManager website and does not use SSH/SFTP.
- Full-screen native previews for images, text/code, PDF pages, and common audio/video formats through authenticated XFileManager streams.
- Server-side XFileManager share links with selectable expiry, optional password and download limit, clipboard copy, and the Android system share sheet.
- Lucky-compatible HTTPS UPS bridge using the same unified Unraid API key, with private-LAN NUT fallback and visible failure reasons. Public deployments no longer require exposing NUT port 3493.
- Editable, persistent Docker shortcut ordering (up to eight entries).
- Memory detail grouped into live Docker usage, host/VM/other usage, and running VM configured memory.
- New adaptive application icon and equal-height CPU/memory home cards with one identical solid surface color.
- Tolerant GraphQL handling for Docker templates that incorrectly return
iconUrlorwebUiUrlas an array. - Real Docker template icons and the current Unraid VM icons in lists and detail screens.
- Per-container user-selected Android app mappings, plus a remembered or one-time browser chooser for WebUI fallback.
- Docker list, filtering, container detail, real logs, and safe-action sheets.
- Container start, normal stop, and two-step restart with state polling and history.
- Separate Docker image update checks and confirmed one-container updates through the native Unraid 7.3.2 API.
- Direct update is enabled only after an update is confirmed and a DockerMan template is present.
- Registry V2 fallback checks for public Compose images by comparing remote platform config digests with local image IDs.
- Live container CPU, memory, network I/O, and block I/O over the native GraphQL WebSocket subscription.
- VM list, CPU pinning visualization, protected VM detail, and VM action sheets.
- Background-task timeline and rollback-oriented task presentation.
- One unified Unraid API Key for monitoring and confirmed Docker operations, encrypted by Android Keystore.
- Connection, appearance, file manager, explicit action confirmation, notification, and background-check settings UI.
The app can now query the native Unraid GraphQL API for real system, array, cache, Docker, and VM status. API keys are encrypted with an AES-GCM key held by Android Keystore. Mock mode remains available for UI demonstrations. Docker delete, bulk updates, and every VM write operation remain disabled. The native Unraid update flow can remove an unreferenced old image, so the app does not claim automatic image rollback.
Requirements:
- JDK 17 or newer.
- Android SDK 36.
On Windows:
$env:ANDROID_HOME="$env:LOCALAPPDATA\Android\Sdk"
.\gradlew.bat assembleDebugThe APK is written to app/build/outputs/apk/debug/app-debug.apk.
- The APK does not contain an Unraid password or API key.
- The user-supplied unified Unraid API Key is encrypted by Android Keystore.
- The recommended unified scope is
role:viewer,docker:update; do not use an Admin key. - Every start, stop, or restart requires an explicit confirmation and post-action state verification.
- It does not expose Docker delete, bulk update, or any VM write operation.
- Native file management uses a separate XFileManager account and Bearer-token session. Its password is encrypted by Android Keystore and is never sent to the Unraid GraphQL API.
- Protected-VM mutation controls are intentionally absent.
- No analytics, advertising, telemetry, crash reporting, or user-behavior tracking SDK is included.
- The app communicates only with server addresses explicitly configured by the user and with container registries when the user requests an update check.
- New installations contain no personal server address, domain, API key, username, or password.
- Android system backup and device-transfer extraction are disabled for the app.