Hype is a modern, lightweight dashboard designed specifically for homelab enthusiasts who want complete control over their data and interface. It serves as a central hub for monitoring and accessing various services in your homelab environment, all while maintaining your privacy and giving you the flexibility to customize every aspect.
- Privacy-First: No telemetry, no analytics, no external dependencies. Your data stays on your system.
- Customizable: Every widget can be configured to match your specific needs.
- Lightweight: Minimal resource usage, perfect for running on home servers.
- Self-Contained: No external database required - all configuration stored in local files.
- Modern Stack: Built with TypeScript, Svelte, and Hono for optimal performance.
- Create unlimited dashboard layouts
- Switch between dashboards with a single click
- Organize widgets based on your workflow
- Save different layouts for different purposes (monitoring, media, development, etc.)
- Each widget is self-contained and independently configurable
- Masonry layout for widgets
- Adjustable widget refresh rates
- Support for custom CSS themes
- Efficient real-time updates
- Lazy loading of widget data
- Optimized for modern browsers
- No external API calls unless configured
- App Launcher: Quick access to your frequently used applications
- Calendar: View today's upcoming events
- GitHub Integration: Monitor repository status, issues, and pull requests
- RSS Reader: Stay updated with your favorite feeds
- System Monitor: Track CPU, Memory, and Disk usage (requires Telegraf)
- World Clock: Display multiple timezones at a glance
docker run -d \
--name=hype \
-p 3000:3000 \
-v /path/to/config:/config \
--restart unless-stopped \
username/hype:latestversion: '3'
services:
hype:
image: username/hype:latest
container_name: hype
ports:
- 3000:3000
volumes:
- /path/to/config:/config
restart: unless-stopped- Add the following repository to your Unraid server:
unpatchlab/hype - Search for "Hype" in the Apps section
- Click Install
Hype uses YAML for configuration. Create a config.yaml file in your config directory:
dashboards:
- name: "Main"
widgets:
- type: "app"
position: [0, 0]
config:
name: "Plex"
url: "http://plex.local"
icon: "plex"
- type: "system-monitor"
position: [1, 0]
config:
metrics:
- cpu
- memory
- disk
- type: "github"
position: [0, 1]
config:
repo: "username/repo"
token: "${GITHUB_TOKEN}"type: "app"
config:
name: "App Name"
url: "http://app.local"
icon: "icon-name"type: "calendar"
config:
calendar_url: "https://calendar.google.com/calendar/ical/..."
max_events: 5type: "github"
config:
repo: "username/repo"
token: "${GITHUB_TOKEN}"
show_issues: true
show_prs: truetype: "rss"
config:
feeds:
- name: "Blog"
url: "https://blog.com/feed"
refresh_interval: 30type: "system-monitor"
config:
host: "localhost"
port: 8086
metrics:
- cpu
- memory
- disk
refresh_interval: 5type: "world-clock"
config:
timezones:
- "America/New_York"
- "Europe/London"
- "Asia/Tokyo"- Node.js 18+
git clone https://github.com/unpatchlab/hype
cd hype
pnpm install
pnpm dev- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the GNU Public License - see the LICENSE file for details.
- Open an issue on GitHub
- Request new widget in the Discussions section on Github

