Skip to content

JohnnWi/homelab-project

Repository files navigation

🏠 Homelab Dashboard

Swift Kotlin Platform Platform Made with SwiftUI Made with Jetpack Compose

Homelab Dashboard is a fully native mobile app for monitoring and managing a self-hosted homelab from one place. The project ships two dedicated apps, one for iOS and one for Android, designed around the same product idea while respecting each platform's native UI patterns.

Disclaimer: This is a vibe-coding project built for fun and personal use. It is provided as-is with no guarantees. The author assumes no responsibility for any issues, data loss, or damages resulting from the use of this software.

Star History Chart


🚀 Highlights

  • 26 integrated service dashboards across infrastructure, networking, media automation, observability, and developer tooling.
  • One app, many instances: add multiple instances of the same service and switch between them without friction.
  • Fully native on both platforms: SwiftUI on iOS, Jetpack Compose on Android.
  • Practical daily-use features: encrypted backup and restore, biometric unlock, multilingual UI, alternate icons, and fast in-app update prompts.
  • Utilities beyond services: built-in bookmarks plus quick Tailscale launch support for remote access workflows.

🧩 Integrated Services

Core Infrastructure

  • Portainer: container overview, quick actions, resource usage.
  • Proxmox VE: nodes, guests, storage, networking, backups, and cluster operations.
  • Dockhand: native container management dashboard.
  • Beszel: server monitoring across nodes.
  • Linux Update: pending package updates across hosts.
  • Crafty Controller: game server management dashboard.
  • Gitea / Forgejo: repositories, activity, and source browsing.
  • Pangolin / Newt: tunnel and peer visibility.
  • Healthchecks: uptime checks and health status.
  • PatchMon: software update visibility across your stack.
  • Wakapi: coding activity and time tracking stats.

Networking & DNS

  • Pi-hole: queries, blocked domains, toggles, timers.
  • AdGuard Home: filters, rewrites, blocked services, query activity.
  • Technitium DNS: DNS metrics and health.
  • Nginx Proxy Manager / NPMplus: proxy hosts, streams, redirects, certificates, access lists.

Media & Observability

  • Plex: libraries, sessions, recently added media.
  • Jellystat: Jellyfin activity, streams, usage insights.

Servarr Stack

  • Sonarr
  • Radarr
  • Lidarr
  • Prowlarr
  • qBittorrent
  • Jellyseerr
  • Bazarr
  • Gluetun
  • FlareSolverr

The full Servarr stack is available as a unified media automation dashboard, so downloads, health, requests, VPN status, and indexer state can be checked from one place.


🍎 iOS App

The iOS version is built with Swift 6 and SwiftUI for iOS 26+. The interface uses a polished glass-heavy visual language, native navigation, and system integrations such as alternate icons, biometric unlock, and document-based backup import/export.

Dashboard Servarr Bookmarks
Portainer Beszel Nginx Proxy Pi-hole Plex
📸 View all iOS screenshots

Portainer

Nginx Proxy Manager / NPMplus

Beszel

Pi-hole · AdGuard Home · Healthchecks

Gitea / Forgejo · PatchMon · Jellystat · Plex


🤖 Android App

The Android version is built with Kotlin and Jetpack Compose for Android 8.0+. It uses a modern Material 3 style, dynamic color where available, expressive cards, and native Android architecture patterns.

Dashboard Servarr Bookmarks
Portainer Beszel Nginx Proxy Pi-hole Plex
📸 View all Android screenshots

Portainer

Beszel

Nginx Proxy Manager / NPMplus · Pi-hole

AdGuard Home · Healthchecks · PatchMon · Jellystat · Plex

Bookmarks


📲 Install via AltStore / SideStore

You can install the iOS app directly on your iPhone without Xcode using AltStore or SideStore.

  1. Copy the source URL:
    https://raw.githubusercontent.com/JohnnWi/homelab-project/main/apps.json
    
  2. Open AltStore or SideStore on your device.
  3. Go to SourcesAdd Source and paste the URL above.
  4. Find Homelab in the source and tap Install.

The app can then be refreshed and updated from the same source.

Note: SideStore can re-sign the app automatically without needing a Mac every 7 days.


🛠️ Getting Started

Build for iOS

  1. Open HomelabSwift/Homelab.xcodeproj in Xcode 26+.
  2. Select your development team under Signing & Capabilities.
  3. Build and run on a real device or simulator.

Build for Android

  1. Import HomelabAndroid into Android Studio.
  2. Let Gradle sync and resolve dependencies.
  3. Run on a connected device or emulator.

💖 Project & Support

This project is a solo effort maintained by a university student. If you find it useful and want to support the project:

EVM Wallet (Ethereum, BSC, Polygon, etc.)
0x649641868e6876c2c1f04584a95679e01c1aaf0d


📄 License

This project is licensed under the Apache License 2.0.

See LICENSE for the full text.