https://github.com/mathieudubart/homelab
Homelab iOS is a high-performance, native dashboard for self-hosted infrastructure. Built with a focus on Zero Trust security and multi-process synchronization.
https://github.com/mathieudubart/homelab
coolify glances-api monitoring monitoring-tool self-hosted swift swiftui
Last synced: 2 months ago
JSON representation
Homelab iOS is a high-performance, native dashboard for self-hosted infrastructure. Built with a focus on Zero Trust security and multi-process synchronization.
- Host: GitHub
- URL: https://github.com/mathieudubart/homelab
- Owner: MathieuDubart
- License: other
- Created: 2026-03-18T19:00:05.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-04-24T21:34:27.000Z (2 months ago)
- Last Synced: 2026-04-24T21:35:25.454Z (2 months ago)
- Topics: coolify, glances-api, monitoring, monitoring-tool, self-hosted, swift, swiftui
- Language: Swift
- Homepage:
- Size: 976 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Homelab π
**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.
[](https://www.apple.com/ios/)
[](https://swift.org)
[](https://github.com/MathieuDubart/homelab/releases)
[](LICENSE.md)
[](https://testflight.apple.com/join/1ENGpuwn)
[](https://developer.apple.com/xcode/swiftui/)
---
## β¨ Features
- π§ **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
## π§± Architecture
- **Unified Storage** β centralized `StorageService` backed by App Groups, ensuring seamless data flow between the main app and widget extensions.
- **Network Resilience** β custom `URLRequest` builders with automatic header injection for Cloudflare-protected endpoints.
- **UX-First Logic** β a dedicated `DeletedTorrentsManager` handles asynchronous API deletions and prevents "ghost" data from surfacing.
## π Tech Stack
| 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` |
## π Installation
### Requirements
- 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
### Option A β TestFlight *(easiest)*
β Join the public beta: ****
### Option B β Grab a release
β Head to the [**Releases page**](https://github.com/MathieuDubart/homelab/releases) and pick the latest version.
### Option C β Build from source
```bash
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**
## βοΈ Configuration
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.
## π§ Engineering Highlights
- **Zero Trust Architecture** β Cloudflare Access (mTLS / Service Tokens) secures internal APIs without compromising the mobile UX.
- **Multi-Process State Sync** β App Groups + custom `StorageService` keep 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.
## π License
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`](LICENSE.md) for the full text.
---
Built with β€οΈ for the self-hosting community.