Skip to content

Fi3w0/HomePage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

status bun obsidian

🏠 fiw's HomePage

your new tab, but homelabbed.

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.


✨ Features

Live Widgets

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

Widget Details

  • 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

Interactive

  • 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

Silly Fun

  • 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)

🏗 Stack

Layer Tech
Server Bun
Backend TypeScript (Bun.serve, no framework)
Frontend Vanilla JS, CSS custom properties
Proxy Traefik with auto TLS
Containers Docker Compose

🚀 Getting Started

git clone https://github.com/Fi3w0/HomePage
cd HomePage
cp .env.example .env
# fill in your API keys
docker compose up -d

Required API Keys

Optional

  • DOCKER_SOCKET — for Docker container stats
  • MC_HOST / MC_PORT — Minecraft server ping
  • NEWS_TECH_FEEDS / NEWS_GAMES_FEEDS — custom RSS feeds

🎨 Themes

Obsidian · Neon · Paper · Catppuccin · Forest · Rose

Each theme sets a full palette of CSS custom properties — accent colors, backgrounds, surface tones, and fonts.


📁 Project Structure

├── 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

📜 License

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.

About

a live, self-hosted new tab dashboard: real-time widgets for your homelab, themed and pixel-perfect.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors