A high-performance, native iOS dashboard for your self-hosted infrastructure. Zero Trust security · multi-process sync · a juicy UI powered by Metal shaders and neon gauges.
- 🧭 Full-Stack Monitoring — real-time CPU / RAM / Docker stats via Glances & Coolify
- ⚡ Interactive Control — start / stop / restart services straight from native swipe actions
- 🗃 TorBox Integration — track and manage downloads with juicy, interactive rows
- 📱 Smart Widgets — multi-size widgets with interactive AppIntents for instant health checks from the Home Screen
- 🔐 Secure by Design — native support for Cloudflare Zero Trust (Service Tokens / mTLS)
- 🎨 Juicy DA — custom design system with Metal shaders, animated mesh backdrops, neon gauges, and tuned haptics
- Unified Storage — centralized
StorageServicebacked by App Groups, ensuring seamless data flow between the main app and widget extensions. - Network Resilience — custom
URLRequestbuilders with automatic header injection for Cloudflare-protected endpoints. - UX-First Logic — a dedicated
DeletedTorrentsManagerhandles asynchronous API deletions and prevents "ghost" data from surfacing.
| Layer | Stack |
|---|---|
| UI | SwiftUI · Metal shaders · custom design system (palette, typography, motion) |
| Concurrency | Swift Concurrency (async/await, Task, actors) |
| Widgets | WidgetKit + AppIntents (interactive widgets) |
| Persistence | UserDefaults via App Groups |
| Networking | URLSession with Cloudflare Zero Trust (Service Tokens) |
| Haptics | Centralized Haptics helper around sensoryFeedback / CHHapticEngine |
- iOS 18.0 or later (iPhone XS / XR / 11-series and newer)
- A recent Xcode shipping an iOS 18+ SDK
- At least one of: Glances, Coolify, TorBox reachable from your device
→ Join the public beta: https://testflight.apple.com/join/1ENGpuwn
→ Head to the Releases page and pick the latest version.
git clone https://github.com/MathieuDubart/homelab.git
cd homelab
open Homelab.xcodeproj→ Pick your signing team under Signing & Capabilities → Connect your iPhone or select a simulator → Press ⌘R
Once launched, open Settings and fill in:
| Field | Purpose |
|---|---|
| Glances URL | Base URL of your Glances instance (CPU / RAM / Docker stats) |
| Coolify URL + API Token | Endpoint and token for managing Coolify services |
| TorBox API Token | Authenticates the TorBox integration |
| Cloudflare Client ID & Secret (opt.) | Service Token pair for Cloudflare Access–protected endpoints |
The dashboard starts polling automatically once the URLs are saved.
- Zero Trust Architecture — Cloudflare Access (mTLS / Service Tokens) secures internal APIs without compromising the mobile UX.
- Multi-Process State Sync — App Groups + custom
StorageServicekeep a single source of truth between the main app and interactive widgets. - Optimistic UI & Ghost Data Handling — custom logic masks API latency and phantom items for a zero-friction experience even with slow backends.
Copyright © 2026 Mathieu Dubart
Homelab is free software, released under the GNU General Public License, version 3 or (at your option) any later version (SPDX-License-Identifier: GPL-3.0-or-later). You may use, study, share, and modify it under the terms of the GPL; derivative works must be released under the same license. See LICENSE.md for the full text.
Built with ❤️ for the self-hosting community.