A live, self-hosted dashboard that replaces your browser's new tab page —
real-time widgets for your homelab, all inside a fully themed, pixel-perfect shell.
Running behind Traefik at home.fiwservers.lol.
| Widget | Source | Refresh |
|---|---|---|
| Spotify | Last.fm (scrobbles) | 30s |
| Discord | Discord RPC via bot | 60s |
| GitHub | GraphQL API | 5m |
| Twitch | Twitch API | 90s |
| Steam | Steam API | 15m |
| Minecraft | Server ping + Docker stats | 30s |
| Docker | Docker socket | 30s |
| RSS News | Configurable feeds | 15m |
- Spotify: now playing album art, progress, 3 recent tracks
- GitHub: contribution heatmap (98 days), real commit feed, streak counter
- Minecraft: online status, ping, player list, CPU/RAM usage bars
- Docker: container list, running/stopped count, host CPU/RAM
- Discord: presence, current activity, recent history timeline
- Steam: recently played games with playtime bars, last achievement sync
- Search bar with bangs:
g,yt,gh,w,r,map,npm,so,mdn - Editable quicklinks — add/edit/delete with custom colors (persists in localStorage)
- Drag & drop widget reordering (edit mode)
- Settings panel — theme switcher (6 themes), accent colors, fonts, greeting styles
- Confetti on greeting clicks
- Cursor sparkles ✨
- Konami code rotation
- Comic sans / rainbow / upside-down / wiggle modes
- Tiny & chonky scaling
- CRT scanlines & typewriter effect
- Pet rock 🪨 (click to pet, name it)
| Layer | Tech |
|---|---|
| Server | Bun |
| Backend | TypeScript (Bun.serve, no framework) |
| Frontend | Vanilla JS, CSS custom properties |
| Proxy | Traefik with auto TLS |
| Containers | Docker Compose |
git clone https://github.com/Fi3w0/HomePage
cd HomePage
cp .env.example .env
# fill in your API keys
docker compose up -dGITHUB_TOKEN— GitHub PAT (public repos)STEAM_API_KEY— Steam API keyTWITCH_CLIENT_ID/TWITCH_CLIENT_SECRET— Twitch dev appLASTFM_API_KEY— Last.fm APIDISCORD_BOT_TOKEN— Discord bot token for presence data
DOCKER_SOCKET— for Docker container statsMC_HOST/MC_PORT— Minecraft server pingNEWS_TECH_FEEDS/NEWS_GAMES_FEEDS— custom RSS feeds
Obsidian · Neon · Paper · Catppuccin · Forest · Rose
Each theme sets a full palette of CSS custom properties — accent colors, backgrounds, surface tones, and fonts.
├── compose.yml # Docker Compose + Traefik labels
├── Dockerfile # Bun container build
├── .env.example # All config keys documented
├── server/
│ ├── index.ts # Main server + route table
│ ├── docker.ts # Docker socket reader
│ ├── github.ts # GitHub GraphQL + REST
│ ├── mc.ts # Minecraft server ping
│ ├── spotify.ts # Last.fm scrobbles proxy
│ ├── steam.ts # Steam API + wishlist
│ ├── twitch.ts # Twitch API
│ ├── discord.ts # Discord bot proxying
│ └── news.ts # RSS feed parser
└── public/
├── index.html # Single-page shell
├── app.v2.js # All frontend logic (~1150 lines)
├── styles.css # All styles (~1800 lines)
└── tweaks.css # Card layout overrides
CC BY-NC-SA 4.0 — You are free to share and adapt this project for non-commercial purposes, as long as you give appropriate credit, provide a link to the original repository, and distribute your contributions under the same license.
See Creative Commons BY-NC-SA 4.0 for details.