Selbst gehostetes Homelab-Dashboard im Glas-Design: Apps, Links, Live-Infos (Jellyfin, Proxmox, TrueNAS, Immich, Home Assistant …), Kalender aus Nextcloud & Google, Widgets, Pastebin und Filebox. Deutsch & English. Ein Docker-Container.
  • Go 41.6%
  • Svelte 28.1%
  • JavaScript 16.4%
  • CSS 13.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jan 70c8b75ee9 Version 0.8.0: Google Kalender und Englisch
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018phCjvgq7mMGSb2wduTWHx
2026-10-19 18:05:28 +02:00
backend Version 0.8.0: Google Kalender und Englisch 2026-10-19 17:04:27 +02:00
docker Fabulous Dash 0.7.0: README, Lizenz, compose und Container-Bau 2026-10-19 14:09:48 +02:00
docs/screenshots Fabulous Dash 0.7.0: Quelltext 2026-10-19 14:47:49 +02:00
frontend Version 0.8.0: Google Kalender und Englisch 2026-10-19 18:05:28 +02:00
.dockerignore Fabulous Dash 0.7.0: README, Lizenz, compose und Container-Bau 2026-10-19 14:09:48 +02:00
.gitignore Fabulous Dash 0.7.0: README, Lizenz, compose und Container-Bau 2026-10-19 14:09:48 +02:00
compose.yaml compose.yaml: öffentliches Image 2026-10-19 14:18:33 +02:00
Dockerfile Fabulous Dash 0.7.0: README, Lizenz, compose und Container-Bau 2026-10-19 14:09:48 +02:00
LICENSE Fabulous Dash 0.7.0: README, Lizenz, compose und Container-Bau 2026-10-19 14:09:48 +02:00
manifest.json Version 0.8.0: Google Kalender und Englisch 2026-10-19 16:53:32 +02:00
README.en.md Version 0.8.0: Google Kalender und Englisch 2026-10-19 16:57:17 +02:00
README.md Version 0.8.0: Google Kalender und Englisch 2026-10-19 16:55:41 +02:00

Deutsch · English

Fabulous Dash

Your homelab at a glance – beautiful, fast and completely private.

A self-hosted dashboard for apps, links, calendars and files with a glass design. A single Go binary, one Docker container, no cloud, no telemetry.

Version License Go Svelte Docker Buy me a Drink

Dashboard with widgets and live info from Jellyfin, SABnzbd, Immich, Radarr, Proxmox, TrueNAS, Docker and Home Assistant

What is Fabulous Dash?

Fabulous Dash is the start page for your home network. All your services – Jellyfin, Nextcloud, Proxmox, TrueNAS, Home Assistant, your router, your tools – live as tiles in categories, show whether they are reachable and, if you like, what is happening right now: who is watching what, how fast downloads are running, how full the pools are, which light is still on. On top of that there are widgets, calendars from Nextcloud and Google, a pastebin, a file box for sharing files and user management for the whole family.

Every user has their own tiles, their own design and their own connections. The interface is available in English and German.

Quick start

mkdir fabulous-dash && cd fabulous-dash
curl -O https://git.justdoit.network/Releases/Fabulous-Dash/raw/branch/main/compose.yaml
docker compose up -d

Then open http://<server>:5661 and sign in:

User Password
admin fabulous

On first sign-in you immediately choose your own user name and a new password – the start account is gone afterwards. The dashboard starts empty: use the small lock at the top right to add categories, apps and links, and enable live info and widgets under Profile → Plugins. The language can be changed on the sign-in page and under Settings → General.

Features

🧩 Tiles the way you want them

  • Apps and links in categories, freely arranged by drag & drop on a grid
  • Resize by dragging – from a bare icon square to a large info tile
  • Service logos in original colours for more than 60 homelab services, website icons automatically, over 100 symbols
  • Health checks with status dot and response time; optional e-mail on outage and recovery
  • Expiring tiles for things you only need for a while
  • Workspaces such as “Private” and “Work” with their own categories, tiles and widgets

📡 Live info right on the tile

Can be switched on per tile – credentials are stored encrypted on the server and never leave it.

Service Shows
Jellyfin running streams with progress, direct play/transcoding, movies · series · episodes
SABnzbd speed, queue, time left, free space, failures
Immich photos, videos, storage, usage per user, running background jobs
Radarr · Sonarr · Lidarr queue with progress, missing items, releases of the next 7 days, warnings
Bazarr missing subtitles for episodes and movies, throttled providers, messages
Nextcloud active users, files, shares, load, RAM, app updates
Paperless-ngx documents, inbox, processing, latest documents
Home Assistant lights on, who is home, updates and selected sensors or switches
Proxmox VE CPU, RAM, storage, running VMs and containers
TrueNAS pool health and usage, alerts, uptime (REST and JSON-RPC)
Docker running, stopped and unhealthy containers – or a single container
Dockhand containers of an environment and available updates

Setting up live info with connection test and preview

🧱 Widgets

One box above the apps and one above the links:

  • Weather (Open-Meteo, no API key), timer with sound, countdowns, tasks with due times
  • Upcoming events from Nextcloud and Google Calendar
  • Proxmox and TrueNAS as their own widget – reusing the connection of an app tile
  • Six sizes from “Mini” to “Large”, content adapts, sortable by drag & drop

📅 Calendar with Nextcloud and Google

  • Month and year view with calendar weeks, upcoming events, show and hide calendars
  • Nextcloud: create, edit, move and delete events – directly via CalDAV
  • Google Calendar: just paste the secret iCal address – events including recurring series appear in the calendar and the widget (read-only, synchronised every 10 minutes)
  • Arrange the panels of the calendar page freely and resize them

Calendar with upcoming events and calendar list

🗂️ Tools

  • Pastebin – multiple files, syntax highlighting, private/internal/public, password, expiry
  • Filebox – upload files, preview, quota per user, share links with expiry and password
  • Log – who did what and when
  • Backup – one click or every night, optionally via WebDAV (e.g. Nextcloud) and encrypted; restore by upload

🎨 Appearance

  • Nine designs plus your own with wallpaper; the design editor adjusts colours, glass, rounding, spacing and animations
  • Your own name and logo, world clocks, greeting by time of day
  • English or German – per user under Settings → General
  • Works like an app on your phone – with its own app icon for the home screen

Fabulous Dash on a phone

🔐 Users & security

  • Multiple users and admins, invitations by e-mail, “forgot password”
  • Passkeys (WebAuthn) and two-factor sign-in (TOTP) with recovery codes
  • Groups & permissions for Pastebin, Filebox and every plugin
  • Secrets encrypted with AES-256-GCM, key stored separately from the data
  • Sign-in lockout like fail2ban, trusted reverse proxies, CSRF protection, Content Security Policy
  • Certificates are verified – your own CA under ./config/ca or an exception per service
  • Regular users only reach services in the home network if the admin allows it, never the server itself

Installation

# compose.yaml
services:
  fabulous-dash:
    image: git.justdoit.network/releases/fabulous-dash:latest
    container_name: fabulous-dash
    restart: unless-stopped
    ports: ["5661:5661"]
    environment:
      PUID: 1000
      PGID: 1000
      TZ: Europe/Berlin
      # FD_EXTERNAL_URL: https://dash.example.org
    volumes:
      - ./config:/config
      - ./db:/db
      # optional for Docker live info, read-only:
      # - /var/run/docker.sock:/var/run/docker.sock:ro

:latest always points to the newest published version and is rebuilt every week with fresh base images – so updating is just docker compose pull && docker compose up -d, Watchtower or Dockhand. Fixed versions are available as :0.8.0 etc. The image is built from exactly the source in this repository.

Build it yourself

Instead of image: you can use:

    build: https://git.justdoit.network/Releases/Fabulous-Dash.git#main

or the classic way:

git clone https://git.justdoit.network/Releases/Fabulous-Dash.git
cd Fabulous-Dash
docker build -t fabulous-dash .

Settings

Variable Default Meaning
PUID / PGID 1000 / 1000 Owner of the files in ./config and ./db
TZ Europe/Berlin Time zone
FD_EXTERNAL_URL – Public address (for share links, e-mails and passkeys). Passkeys require HTTPS.
FD_ADDR :5661 Listen address inside the container
FD_SECRET – Optional fixed session/vault key (otherwise in ./config/secret)
FD_OPENMETEO_URL – Your own Open-Meteo instance for the weather
FD_OPENMETEO_GEO_URL – Your own instance for the location search

Important: ./config contains the key that encrypts passwords and credentials. Always back up ./config and ./db together – or use the built-in backup.

For use on the internet: put Fabulous Dash behind a reverse proxy with HTTPS (Nginx Proxy Manager, Traefik, Caddy …) and trust only that proxy under Settings → Security.

Setup in detail – live info, calendars, mail, backup

Live info

First install the matching plugin (Profile → Plugins), then edit an app tile → Live info: choose the service, enter the address (empty = the tile's URL) and credentials, “Test connection”. Data is fetched every 30 seconds while someone has the dashboard open.

Service Access
Jellyfin API key (Dashboard → API Keys)
SABnzbd API key (Config → General → Security)
Immich API key (Account Settings → API Keys); more numbers with an admin account
Radarr, Sonarr, Lidarr, Bazarr API key (Settings → General → Security)
Nextcloud Token of the “Server info” app (Administration → System) or an admin user with an app password
Paperless-ngx API token (My Profile → API Token)
Home Assistant Long-lived access token (Profile → Security), optionally entities such as sensor.living_room_temperature
Proxmox VE API token user@realm!name + secret, role PVEAuditor on /
TrueNAS API key, only via https (otherwise TrueNAS revokes it)
Docker Socket /var/run/docker.sock:ro (admins only) or a socket proxy http://socket-proxy:2375
Dockhand User and password (ideally a separate user without 2FA), environment (default 1)

Nextcloud calendar

Profile → Plugins → Nextcloud calendar → address, user and an app password (Nextcloud → Settings → Security). Events are synchronised in the background every ten minutes.

Google Calendar

Profile → Plugins → Google Calendar → Settings. In Google Calendar (on a computer), open the calendar's ⋮ → Settings and sharing → Integrate calendar → Secret address in iCal format, copy it and paste it. Several calendars are possible. The address is stored encrypted; data is only fetched from calendar.google.com.

Mail

Settings → Mail (admin): SMTP with STARTTLS (587) or TLS (465). Afterwards invitations, “forgot password”, sharing by e-mail and outage e-mails are available – in each user's language.

Backup

Settings → Data & backup: “Back up now” stores a ZIP with database, files, key and logo in ./db/backups; optionally every night and additionally via WebDAV, encrypted with a backup password. Restore: upload the file – Fabulous Dash checks it, restarts and imports it. For this the container must run with restart: unless-stopped.

Technology

  • Backend: Go 1.24, standard library plus SQLite (ncruces/go-sqlite3, no cgo) – one binary with HTTP API, health checks, integrations and the embedded frontend
  • Frontend: Svelte 5 + Vite, SortableJS, highlight.js, qrcode
  • Data: ./db/store.db (SQLite) plus files for pastes, Filebox, avatars, wallpapers and backups

Local development:

cd frontend && npm install && npm run build   # builds into backend/dist
cd ../backend && FD_DATA=./db FD_CONFIG=./config go run .   # http://localhost:5661

About this repository

This is where the published version of Fabulous Dash appears – it is updated with new versions from time to time. Issues and pull requests are disabled.

License

MIT © 2026 Jan Henseler