Files
homelab-optimized/docs/services/HOMARR_SETUP.md
Gitea Mirror Bot 9e0ef0cc6a
Some checks failed
Documentation / Deploy to GitHub Pages (push) Has been cancelled
Documentation / Build Docusaurus (push) Has been cancelled
Sanitized mirror from private repository - 2026-04-06 03:11:43 UTC
2026-04-06 03:11:43 +00:00

8.8 KiB

Homarr Dashboard Setup Guide

Overview

This document covers the complete setup of Homarr as a homelab dashboard, including:

  • Deployment on Atlantis (Synology NAS)
  • API-based app and integration configuration
  • NPM reverse proxy with Authentik SSO
  • Dashboard layout and widget configuration

Architecture

Internet → Cloudflare → NPM (Calypso:443) → Homarr (Atlantis:7575)
                              ↓
                        Authentik SSO (Calypso:9000)

Access URLs

Service Internal URL External URL
Homarr http://atlantis.vish.local:7575 https://dash.vish.gg
NPM Admin http://calypso.vish.local:81 https://npm.vish.gg
Authentik http://calypso.vish.local:9000 https://sso.vish.gg

DNS Mapping (Split Horizon via Tailscale)

IP Address Local DNS
192.168.0.80/200 atlantis.vish.local
192.168.0.250 calypso.vish.local
192.168.0.210 homelab.vish.local
(NUC) concordnuc.vish.local

Deployment

Homarr Container (Atlantis)

Homarr runs on Atlantis (192.168.0.200) via Docker, managed via GitOps through Portainer:

  • Stack ID: 523 (homarr-stack)
  • GitOps Path: hosts/synology/atlantis/homarr.yaml
  • Auto-Update: Every 5 minutes
Container: homarr
Image: ghcr.io/homarr-labs/homarr:latest
Ports: 7575:7575
Volumes:
  - /volume2/metadata/docker/homarr/appdata:/appdata
  - /var/run/docker.sock:/var/run/docker.sock:ro

NPM Proxy Configuration

Proxy Host ID: 40

{
  "domain_names": ["dash.vish.gg"],
  "forward_host": "192.168.0.200",
  "forward_port": 7575,
  "forward_scheme": "http",
  "ssl_forced": true,
  "allow_websocket_upgrade": true,
  "http2_support": true,
  "certificate_id": 1
}

Authentik Forward Auth

NPM advanced config includes Authentik forward auth using:

  • Provider: "vish.gg Domain Forward Auth" (ID: 5)
  • Mode: forward_domain
  • Cookie Domain: vish.gg (covers all *.vish.gg subdomains)

Apps (60 Total)

Atlantis (atlantis.vish.local)

App Port URL
Plex 32400 http://atlantis.vish.local:32400
Jellyseerr 5055 http://atlantis.vish.local:5055
Tautulli 8181 http://atlantis.vish.local:8181
Sonarr 8989 http://atlantis.vish.local:8989
Radarr 7878 http://atlantis.vish.local:7878
Lidarr 8686 http://atlantis.vish.local:8686
Prowlarr 9696 http://atlantis.vish.local:9696
Bazarr 6767 http://atlantis.vish.local:6767
SABnzbd 8080 http://atlantis.vish.local:8080
Jackett 9117 http://atlantis.vish.local:9117
Portainer 10000 http://vishinator.synology.me:10000
Vaultwarden 4080 http://atlantis.vish.local:4080
Immich 8212 http://atlantis.vish.local:8212
Joplin 22300 http://atlantis.vish.local:22300
Paperless-NGX 8777 http://atlantis.vish.local:8777
Calibre Web 8083 http://atlantis.vish.local:8083
IT Tools 5545 http://atlantis.vish.local:5545
DokuWiki 8399 http://atlantis.vish.local:8399
Dozzle 9999 http://atlantis.vish.local:9999
Baikal 12852 http://atlantis.vish.local:12852
Wizarr 5690 http://atlantis.vish.local:5690
Proxmox 8006 https://proxmox.vish.local:8006

Homelab VM (homelab.vish.local)

App Port URL
Grafana 3300 http://homelab.vish.local:3300
Prometheus 9090 http://homelab.vish.local:9090
Redlib 9000 http://homelab.vish.local:9000
Karakeep 3000 http://homelab.vish.local:3000
Binternet 21544 http://homelab.vish.local:21544
Draw.io 5022 http://homelab.vish.local:5022

Matrix VM (External URLs)

App External URL
Element https://matrix.thevish.io
Mattermost https://mm.crista.love

Concord NUC (concordnuc.vish.local)

App Port URL
Home Assistant 8123 http://concordnuc.vish.local:8123
AdGuard Home 3000 http://concordnuc.vish.local:3000
Your Spotify 4000 http://concordnuc.vish.local:4000
Invidious 3001 http://concordnuc.vish.local:3001

Calypso (calypso.vish.local)

App Port URL
Gitea 3052 https://git.vish.gg
AdGuard Home 3000 http://calypso.vish.local:3000
Actual Budget 8304 http://calypso.vish.local:8304
Seafile 8611 http://calypso.vish.local:8611

Integrations (8 with Live Data)

Integration Kind Features
Sonarr sonarr Queue, Calendar
Radarr radarr Queue, Calendar
Lidarr lidarr Queue, Calendar
Prowlarr prowlarr Indexer Status
SABnzbd sabNzbd Download Speed, Queue
Plex plex Now Playing
Jellyseerr jellyseerr Pending Requests
Home Assistant homeAssistant Entities, Sensors

Widgets

The dashboard includes these live widgets:

Widget Integration Shows
📅 Release Calendar Sonarr, Radarr, Lidarr Upcoming TV/Movie/Music releases
📥 Downloads SABnzbd Current download speed & queue
🎬 Now Playing Plex Currently streaming media
📺 Media Requests Jellyseerr Pending media requests
🏠 Smart Home Home Assistant Entity states
🕐 Clock - Current time & date

Dashboard Layout Guide

┌─────────────────────────────────────────────────────────────┐
│                    📅 CALENDAR WIDGET                        │
│            (Shows upcoming releases from Sonarr/Radarr)      │
├───────────────────┬─────────────────────┬───────────────────┤
│   📺 MEDIA        │   📥 DOWNLOADS      │   🏠 SMART HOME   │
│ • Plex            │ • Sonarr            │ • Home Assistant  │
│ • Jellyseerr      │ • Radarr            │ • AdGuard         │
│ • Tautulli        │ • SABnzbd           │                   │
├───────────────────┼─────────────────────┼───────────────────┤
│  🖥️ INFRA         │  📊 MONITORING      │  🔧 TOOLS         │
│ • Portainer       │ • Grafana           │ • IT Tools        │
│ • Gitea           │ • Prometheus        │ • Draw.io         │
├───────────────────┴─────────────────────┴───────────────────┤
│  📥 DOWNLOAD SPEED    │    🎬 NOW PLAYING WIDGET            │
└─────────────────────────────────────────────────────────────┘

Setup Steps

  1. Create Board: Manage → Boards → New Board → "Homelab"
  2. Enter Edit Mode: Click pencil icon
  3. Add Sections: + Add → Section (Media, Downloads, etc.)
  4. Add Apps: + Add → App → Select from list
  5. Add Widgets: + Add → Widget → Configure integrations
  6. Save: Click checkmark to exit edit mode

Key Widgets

  • Calendar: Shows Sonarr/Radarr upcoming releases
  • Downloads: SABnzbd speed and queue
  • Media Server: Plex now playing
  • Health Monitoring: Service status

Backup & Maintenance

Database Location

/volume2/metadata/docker/homarr/appdata/db/db.sqlite

Backup Command

cp db.sqlite db.sqlite.backup.$(date +%Y%m%d)

Update Homarr

docker pull ghcr.io/homarr-labs/homarr:latest
docker restart homarr

API Reference

Create App

curl -X POST "http://localhost:7575/api/trpc/app.create" \
  -H "ApiKey: <token>" \
  -H "Content-Type: application/json" \
  -d '{"json":{"name":"App","description":"Desc","iconUrl":"...","href":"...","pingUrl":"..."}}'

Create Integration

curl -X POST "http://localhost:7575/api/trpc/integration.create" \
  -H "ApiKey: <token>" \
  -H "Content-Type: application/json" \
  -d '{"json":{"name":"Name","kind":"sonarr","url":"...","secrets":[{"kind":"apiKey","value":"..."}],"attemptSearchEngineCreation":false}}'

Valid Integration Kinds

sabNzbd, nzbGet, sonarr, radarr, lidarr, prowlarr, plex, jellyseerr, homeAssistant, adGuardHome, proxmox, piHole

Troubleshooting

Issue Solution
"No home board found" Create board, set as home
Integration no data Verify API keys
Auth redirect loop Clear vish.gg cookies
Websocket errors Ensure NPM has websockets enabled