Android client for Nagios Core: host/service status and acknowledgements
Kotlin
0
8 commits
updated Oct 2, 2026
An Android client for Nagios Core that shows host and service status and can acknowledge problems, built with Jetpack Compose and Material 3.
"Nagios" is a third-party trademark and is intentionally not used in the app name, package id, or display strings.
statusjson.cgi) and, for acknowledgement, the command CGI (cmd.cgi)Requires JDK 17+ (JDK 21 recommended) and the Android SDK (compile/target
SDK 35). Create local.properties with your SDK path, e.g.:
sdk.dir=/path/to/Android/sdk
Then:
./gradlew :app:assembleDebug # build the debug APK
./gradlew :app:testDebugUnitTest # run unit tests
The APK is written to app/build/outputs/apk/debug/app-debug.apk.
Open the Settings tab and set:
http://your-nagios-host/nagiosCredentials are stored in EncryptedSharedPreferences. Use Test connection
to verify the URL and credentials.
formatoptions=enumerate; the numeric status field is
unreliable in Nagios Core 4.5.x. Enumerated values return textual states
("up", "ok", "hard", ...).hostcount, servicecount, hostlist, servicelist, host,
service, programstatus.cmd.cgi (GET to obtain the CSRF form id, then a form
POST), since the command interface is not part of statusjson.cgi.EncryptedSharedPreferencesTagged releases (v*) are built and published automatically by GitHub Actions
(.github/workflows/release.yml). The workflow produces an installable release
APK and attaches it to the GitHub Release and to the workflow run as an artifact.
It can also be run manually from the Actions tab.
To sign releases with your own key, add these repository secrets:
KEYSTORE_BASE64 — your keystore, base64-encoded (base64 -w0 keystore.jks)KEYSTORE_PASSWORDKEY_ALIASKEY_PASSWORDIf KEYSTORE_BASE64 is not set, the release APK is signed with the debug key so
it stays installable for testing.
Pull requests and pushes to main run the CI workflow
(.github/workflows/ci.yml): unit tests, lint and a debug build.
Released under the MIT License.
Kotlin
100.0%
Android client for Nagios Core: host/service status and acknowledgements
Kotlin
0
8 commits
updated Oct 2, 2026
An Android client for Nagios Core that shows host and service status and can acknowledge problems, built with Jetpack Compose and Material 3.
"Nagios" is a third-party trademark and is intentionally not used in the app name, package id, or display strings.
statusjson.cgi) and, for acknowledgement, the command CGI (cmd.cgi)Requires JDK 17+ (JDK 21 recommended) and the Android SDK (compile/target
SDK 35). Create local.properties with your SDK path, e.g.:
sdk.dir=/path/to/Android/sdk
Then:
./gradlew :app:assembleDebug # build the debug APK
./gradlew :app:testDebugUnitTest # run unit tests
The APK is written to app/build/outputs/apk/debug/app-debug.apk.
Open the Settings tab and set:
http://your-nagios-host/nagiosCredentials are stored in EncryptedSharedPreferences. Use Test connection
to verify the URL and credentials.
formatoptions=enumerate; the numeric status field is
unreliable in Nagios Core 4.5.x. Enumerated values return textual states
("up", "ok", "hard", ...).hostcount, servicecount, hostlist, servicelist, host,
service, programstatus.cmd.cgi (GET to obtain the CSRF form id, then a form
POST), since the command interface is not part of statusjson.cgi.EncryptedSharedPreferencesTagged releases (v*) are built and published automatically by GitHub Actions
(.github/workflows/release.yml). The workflow produces an installable release
APK and attaches it to the GitHub Release and to the workflow run as an artifact.
It can also be run manually from the Actions tab.
To sign releases with your own key, add these repository secrets:
KEYSTORE_BASE64 — your keystore, base64-encoded (base64 -w0 keystore.jks)KEYSTORE_PASSWORDKEY_ALIASKEY_PASSWORDIf KEYSTORE_BASE64 is not set, the release APK is signed with the debug key so
it stays installable for testing.
Pull requests and pushes to main run the CI workflow
(.github/workflows/ci.yml): unit tests, lint and a debug build.
Released under the MIT License.
Kotlin
100.0%