# Dashboard Setup Guide

This document contains configuration details for the homelab dashboards (Homarr and Fenrus).

## Quick Access

| Dashboard | URL | Port |
|-----------|-----|------|
| **Homarr** | http://atlantis.vish.local:7575 | 7575 |
| **Fenrus** | http://atlantis.vish.local:4500 | 4500 |

## Infrastructure Overview

### Machines (Portainer Endpoints)

| Machine | IP/Hostname | Containers | Role |
|---------|------------|------------|------|
| **Atlantis** | 192.168.0.80 | 48 | Primary NAS, Media Server |
| **Calypso** | 192.168.0.200 | 52 | Secondary NAS, Auth, Git |
| **vish-concord-nuc** | concordnuc.vish.local | 17 | Home Assistant, Voice |
| **Homelab VM** | 192.168.0.210 | 30 | Monitoring, AI Tools |
| **rpi5** | rpi5.vish.local | 4 | Edge, Uptime Monitoring |

---

## Service Configuration

### Atlantis Services (192.168.0.80)

#### Media Management (ARR Stack)

| Service | Port | API Key |
|---------|------|---------|
| Sonarr | 8989 | `REDACTED_SONARR_API_KEY` |
| Radarr | 7878 | `REDACTED_RADARR_API_KEY` |
| Lidarr | 8686 | `2084f02ddc5b42d5afe7989a2cf248ba` |
| Prowlarr | 9696 | `58b5963e008243cf8cc4fae5276e68af` |
| Bazarr | 6767 | `057875988c90c9b05722df7ff5fedc69` |
| Whisparr | 6969 | `dc59f21250e44f8fbdd76032a96a2db5` |

#### Downloaders

| Service | Port | API Key |
|---------|------|---------|
| SABnzbd | 8080 (via Gluetun) | `6ae289de5a4f45f7a0124b43ba9c3dea` |
| Jackett | 9117 | `ym6hof50bsdzk292ml8ax0zqj8ree478` |

#### Media Servers & Tools

| Service | Port | Token/API Key |
|---------|------|---------------|
| Plex | 32400 | `Cavsw8jf4Z9swTbYopgd` |
| Tautulli | 8181 | `781849be7c1e4f7099c2781c1685b15b` |
| Jellyseerr | 5055 | `MTczODEyMjA4NTgwNzdhYjdkODNkLTlmN2EtNDgzZS1hMThhLTg3MmE3N2VjMjRhNw==` |

#### Other Services

| Service | Port | Notes |
|---------|------|-------|
| Fenrus | 4500 | Dashboard |
| Homarr | 7575 | Dashboard |
| Immich | 8212 | Photo Management |
| Syncthing | 8384 | File Sync |
| Vaultwarden | 4080 | Password Manager |
| IT-Tools | 5545 | Dev Tools |
| Ollama | 11434 | LLM Server |
| Open WebUI | 8271 | Ollama UI |
| Wizarr | 5690 | Plex Invites |
| YouTube DL | 8084 | Video Downloader |
| Joplin | 22300 | Notes |
| Baikal | 12852 | CalDAV/CardDAV |
| DokuWiki | 4443/8399 | Wiki |
| Watchtower | 8090 | Auto Updates |
| Jitsi | 5443/5080 | Video Calls |
| Portainer | 9443 | Container Mgmt |

### Calypso Services (192.168.0.200)

| Service | Port | Notes |
|---------|------|-------|
| Nginx Proxy Manager | 81 (admin), 8880/8443 | Reverse Proxy |
| Authentik | 9000/9443 | SSO/Auth |
| Gitea | 3052 | Git Server |
| Seafile | 8611/8612 | File Cloud |
| Reactive Resume | 9751 | Resume Builder |
| PaperlessNGX | 8777 | Document Management |
| Immich | 8212 | Photo Management |
| Actual Budget | 8304 | Budgeting |
| Rustdesk | 21115-21119 | Remote Desktop |
| OpenSpeedTest | 8004 | Speed Testing |
| ARR Stack (duplicate) | Various | Backup media mgmt |

### Concord NUC Services (concordnuc.vish.local)

| Service | Port | Notes |
|---------|------|-------|
| Home Assistant | 8123 | Home Automation (needs token from UI) |
| Plex | 32400 | Media Server |
| AdGuard | - | DNS Filtering |
| WireGuard | 51820/51821 | VPN |
| Syncthing | 8384 | File Sync |
| Invidious | 3000 | YouTube Frontend |
| Materialious | 3001 | Invidious UI |
| Your Spotify | 4000/15000 | Spotify Stats |
| Piper/Whisper/Wakeword | 10200/10300/10400 | Voice Assistant |

### Homelab VM Services (192.168.0.210)

| Service | Port | Notes |
|---------|------|-------|
| Grafana | 3300 | Monitoring Dashboard |
| Prometheus | 9090 | Metrics |
| Alertmanager | 9093 | Alert Routing |
| NTFY | 8081 | Push Notifications |
| OpenHands | 3001 | AI Assistant |
| Perplexica | 4785 | AI Search |
| Redlib | 9000 | Reddit Frontend |
| ProxiTok | 9770 | TikTok Frontend |
| Binternet | 21544 | Pinterest Frontend |
| Draw.io | 5022 | Diagramming |
| ArchiveBox | 7254 | Web Archive |
| Web-Check | 6160 | Site Analysis |
| Hoarder/Karakeep | 3000 | Bookmarks |

### RPi5 Services

| Service | Port | Notes |
|---------|------|-------|
| Uptime Kuma | - | Uptime Monitoring |
| Glances | - | System Monitor |

---

## Homarr Configuration Guide

### Current Setup (Auto-Configured)

The Homarr dashboard has been pre-configured with:

**Board: "Homelab"** - Set as home board for user `vish`

**Sections (6 total, grouped by machine):**
| Section | Services | Integrations |
|---------|----------|--------------|
| Media (Atlantis) | Plex, Jellyseerr, Tautulli | ✅ All with API keys |
| Downloads (Atlantis) | Sonarr, Radarr, Lidarr, Prowlarr, Bazarr, Whisparr, SABnzbd, Jackett | ✅ Sonarr, Radarr, Lidarr, Prowlarr, SABnzbd |
| Infrastructure (Atlantis) | Portainer, Authentik, Gitea, NPM | Links only |
| Services (Calypso) | Homarr | Links only |
| Smart Home (Concord NUC) | Home Assistant | Links only (needs token) |
| Monitoring (Homelab VM) | Grafana, Prometheus | Links only |

**Total: 17 apps configured**

### Initial Setup

1. Access Homarr at http://192.168.0.80:7575
2. Create an admin account on first launch
3. Go to **Settings** → **Boards** to configure your dashboard

### Adding Integrations

#### Sonarr Integration
1. Click **Add Tile** → **Sonarr**
2. Enter URL: `http://192.168.0.80:8989`
3. Enter API Key: `REDACTED_SONARR_API_KEY`
4. Enable widgets: Queue, Calendar, Series Count

#### Radarr Integration
1. Click **Add Tile** → **Radarr**
2. Enter URL: `http://192.168.0.80:7878`
3. Enter API Key: `REDACTED_RADARR_API_KEY`
4. Enable widgets: Queue, Calendar, Movie Count

#### SABnzbd Integration
1. Click **Add Tile** → **SABnzbd**
2. Enter URL: `http://192.168.0.80:8080`
3. Enter API Key: `6ae289de5a4f45f7a0124b43ba9c3dea`
4. Shows: Download speed, queue size, history

#### Plex Integration
1. Click **Add Tile** → **Plex**
2. Enter URL: `http://192.168.0.80:32400`
3. Enter Token: `Cavsw8jf4Z9swTbYopgd`

#### Tautulli Integration
1. Click **Add Tile** → **Tautulli**
2. Enter URL: `http://192.168.0.80:8181`
3. Enter API Key: `781849be7c1e4f7099c2781c1685b15b`
4. Shows: Active streams, recent plays

### Recommended Board Layout

```
┌─────────────────────────────────────────────────────────────┐
│                     ATLANTIS (NAS)                          │
├─────────────┬─────────────┬─────────────┬─────────────────────┤
│   Sonarr    │   Radarr    │   Lidarr    │     Prowlarr      │
│  (queue)    │  (queue)    │  (queue)    │    (indexers)     │
├─────────────┼─────────────┼─────────────┼─────────────────────┤
│   SABnzbd   │    Plex     │  Tautulli   │    Jellyseerr     │
│  (speed)    │  (playing)  │  (streams)  │    (requests)     │
├─────────────┴─────────────┴─────────────┴─────────────────────┤
│                        CALYPSO                              │
├─────────────┬─────────────┬─────────────┬─────────────────────┤
│   Gitea     │  Authentik  │  Paperless  │      NPM          │
├─────────────┴─────────────┴─────────────┴─────────────────────┤
│                      CONCORD NUC                            │
├─────────────┬─────────────┬─────────────────────────────────────┤
│  Home Asst  │ AdGuard     │   Invidious                     │
├─────────────┴─────────────┴─────────────────────────────────────┤
│                     HOMELAB VM                              │
├─────────────┬─────────────┬─────────────────────────────────────┤
│   Grafana   │ Prometheus  │   NTFY                          │
└─────────────┴─────────────┴─────────────────────────────────────┘
```

---

## Fenrus Configuration Guide

Fenrus stores configuration in a SQLite database at:
`/volume2/metadata/docker/fenrus/Fenrus.db`

### Backup Location
`/volume2/metadata/docker/fenrus-backup-20260201/`

### Adding Apps in Fenrus

1. Access Fenrus at http://192.168.0.80:4500
2. Click the **+** to add a new app
3. Select the app type (e.g., Sonarr)
4. Enter:
   - Name: Sonarr
   - URL: http://192.168.0.80:8989
   - API Key: (from table above)
5. Save and the integration should show live data

### Fenrus Supported Integrations

Fenrus has built-in smart apps for:
- Sonarr, Radarr, Lidarr, Readarr
- SABnzbd, qBittorrent, Deluge
- Plex, Jellyfin, Emby
- Tautulli
- Pi-hole, AdGuard
- And many more...

---

## Reverse Proxy Setup (dash.vish.gg)

When ready to expose externally:

### Nginx Proxy Manager Configuration

1. Access NPM at http://192.168.0.200:81
2. Add Proxy Host:
   - Domain: `dash.vish.gg`
   - Scheme: `http`
   - Forward Hostname: `192.168.0.80`
   - Forward Port: `7575` (Homarr) or `4500` (Fenrus)
   - Enable SSL (Let's Encrypt)
   - Enable Force SSL

### Authentik Forward Auth (Recommended)

1. In Authentik, create an Application for the dashboard
2. Create a Proxy Provider with Forward Auth (single application)
3. In NPM, add custom Nginx config for forward auth headers

---

## Maintenance

### Backup Commands

```bash
# Backup Fenrus
sudo cp -r /volume2/metadata/docker/fenrus /volume2/metadata/docker/fenrus-backup-$(date +%Y%m%d)

# Backup Homarr
sudo cp -r /volume2/metadata/docker/homarr /volume2/metadata/docker/homarr-backup-$(date +%Y%m%d)
```

### Update Commands

```bash
# Via Portainer: Go to Stacks → Select stack → Pull and redeploy

# Via CLI:
DOCKER=/var/packages/REDACTED_APP_PASSWORD/target/usr/bin/docker
sudo $DOCKER compose pull
sudo $DOCKER compose up -d
```

---

## Security Notes

⚠️ **API Keys in this document are sensitive!**

- Do not commit this file to public repositories
- Rotate keys periodically
- Use Authentik for external access
- Consider using environment variables or secrets management

---

*Last updated: 2026-02-01*
*Generated by OpenHands during dashboard setup*
