Skip to content

AstorisTheBrave/ursa-android

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

98 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

URSA

URSA - your Uptime Kuma companion

CI License: MIT Platform: Android 8.0+ Made with Kotlin

Your Uptime Kuma monitors, live in your pocket. URSA is a native Android app that keeps every self-hosted monitor a glance away - real-time up/down status, heartbeat history, and push notifications that never touch Google or a paid relay.

Free, and always free. URSA is open source (MIT) with no paywalls, no premium tier, no ads, and no tracking - now and forever. If it works for your Kuma setup, it's yours.

Monitor list Monitor detail with heartbeat and TLS certificate Monitor list, light mode

🐻 Why URSA?

You already run Uptime Kuma. It watches your homelab, your side project, your family's Plex box - and it does it beautifully in the browser. But the moment you close the laptop, you're back to refreshing a tab on your phone or wiring up yet another notification bot.

Uptime Kuma has wanted a real Android app for years. The web dashboard is great on a desktop but cramped on a phone, the existing apps are abandoned or read-only, and every "just get alerts" path seems to end at Firebase or a third-party relay you have to trust.

URSA fixes that. It's the companion app your Kuma setup has been missing: fast, native, and yours. Point it at your server, log in, and your monitors are just... there - whenever you pull your phone out.

✨ What you get

  • πŸ“‘ Live status at a glance - every monitor, up or down, with a response-time sparkline and service favicon, updating in real time as Kuma pings them. Search and filter when the list gets long. No pull-to-refresh, no stale numbers.
  • πŸ“ˆ Heartbeat history and uptime - tap a monitor for its recent beats (over 6h, 24h, 7d, or 30d), response time, and uptime percentage.
  • 🐒 Slow-response alerts - get notified when a monitor is up but responding slower than a limit you set, globally or per monitor. Kuma can't do this; your phone can.
  • πŸ”’ TLS certificate details - see which certs are healthy and which are about to expire, with local reminders before they do.
  • πŸ”” Push notifications, your way - get alerted the instant something goes down (and told how long it was down when it recovers), routed through UnifiedPush (e.g. ntfy). No Firebase, no Google Play Services, no relay server to run or pay for.
  • ⌚ Wear OS tile - an at-a-glance "all clear / N down" tile on your watch, and your alerts (with Pause/Resume) show up on your wrist. Fully FOSS, no Google services.
  • πŸ–₯️ All your servers, one app - connect multiple Uptime Kuma instances and switch between them.
  • ⏯️ Pause and resume - silence a monitor during maintenance without opening a browser.
  • πŸ”‘ Login that sticks - username/password and two-factor (TOTP), with a session that heals itself when your connection drops.
  • 🌐 Public status pages - check a shared status page without logging in at all.
  • πŸ›‘οΈ Private by default - credentials are encrypted on-device, only your session token is ever stored (never your password), and monitor data is hidden from screenshots and the app switcher.
  • πŸ“± Feels like Android - a home-screen widget, a Quick Settings tile, app shortcuts, biometric app lock, an offline last-known view, and notification actions. Things the web dashboard simply can't do.
  • 🎨 Light and dark, Kuma's colors - it uses Uptime Kuma's own palette and status conventions by default, with optional Material You if you'd rather match your wallpaper.

πŸ“₯ Get it

Grab the latest signed APK from the Releases page, install it, open the app, and add your server's address (for example https://kuma.yourdomain.com). That's it - log in and your monitors show up.

New to the app? The Getting Started guide walks you through your first connection, and Push Notifications covers getting alerts on your phone.

Got a Wear OS watch? There's a separate ursa-wear-*.apk on the Releases page for the status tile - see Wear OS for how to sideload it.

Prefer auto-updates? Add the repo to Obtainium to track releases and update URSA automatically, no store required.

An F-Droid listing is on the way.

βœ… Works with your setup

Your Kuma looks like... URSA handles it
Uptime Kuma 2.4.x βœ” verified against a live instance
Username / password login βœ”
Two-factor (TOTP) βœ”
Several servers βœ” switch freely
Self-signed certificates βœ” opt-in per connection
Plain-HTTP instances βœ”
Behind nginx / Caddy / Traefik βœ”
Behind a Cloudflare Tunnel βœ”

If your instance is reachable in a browser, URSA can talk to it - reverse proxy or tunnel, it's all the same standard HTTPS + WebSocket underneath.

❀️ Support URSA

URSA is free and open source - and always will be - built in spare time for the self-hosting community. There's no paid version to upsell you; if it saves you a few browser refreshes, here's how you can help:

  • ⭐ Star the repo - it genuinely helps others find the app.
  • πŸ› Report bugs and ideas in Issues, or say hi in Discussions.
  • πŸ’› Sponsor the project using the Sponsor button at the top of the repo - even a coffee's worth keeps the batteries charged.

🀝 Contributing

Pull requests and issues are welcome. Start with CONTRIBUTING.md, and please be kind - we follow a Code of Conduct. Found something security-sensitive? See the Security Policy.

πŸ› οΈ For developers

Curious how it works under the hood, or want to build it yourself? The technical deep dive lives in the wiki:

In short: Kotlin + Jetpack Compose (with a separate :wear module for the watch tile), Socket.IO for the live link, encrypted-at-rest credentials, no third-party services. Releases are automated and every build ships signed, with an SBOM and a provenance attestation attached.

πŸ“œ License

MIT - matching upstream Uptime Kuma. URSA is an independent client and is not affiliated with the Uptime Kuma project.

About

Native Android client for Uptime Kuma: real-time monitoring, multi-server, and FOSS push (UnifiedPush, no relay, no Firebase).

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Sponsor this project

Packages

 
 
 

Contributors