# Service Mappings and Dependencies **Last Updated**: 2025-11-16 ## Service Categories ### Reverse Proxy & Authentication #### Traefik (VMID 104) - **Node**: pm2 - **IP**: 10.4.2.10 - **Port**: 80, 443 - **Purpose**: Reverse proxy and load balancer - **Config Location**: *TODO: Document Traefik config location* - **Dependencies**: None - **Backends**: Routes traffic to all web services #### Authelia (VMID 116) - **Node**: pm2 - **IP**: 10.4.2.23 - **Purpose**: Single sign-on and authentication - **Dependencies**: Traefik - **Protected Services**: *TODO: Document which services require auth* ### Media Automation Stack #### Prowlarr (VMID 114) - **Node**: pm2 - **IP**: 10.4.2.17 - **Port**: 9696 (default) - **Purpose**: Indexer manager for *arr services - **Dependencies**: None - **Integrated With**: Sonarr, Radarr, Whisparr #### Sonarr (VMID 105) - **Node**: pm2 - **IP**: 10.4.2.15 - **Port**: 8989 (default) - **Purpose**: TV show automation - **Dependencies**: Prowlarr - **Mount Points**: - `/media` - Media library - `/mnt/kavnas` - Download staging - **Integrated With**: Jellyfin, Jellyseerr, Bazarr #### Radarr (VMID 108) - **Node**: pm2 - **IP**: 10.4.2.16 - **Port**: 7878 (default) - **Purpose**: Movie automation - **Dependencies**: Prowlarr - **Mount Points**: - `/media` - Media library - `/mnt/kavnas` - Download staging - **Integrated With**: Jellyfin, Jellyseerr, Bazarr #### Whisparr (VMID 117) - **Node**: pm2 - **IP**: 10.4.2.19 - **Port**: 6969 (default) - **Purpose**: Adult content automation - **Dependencies**: Prowlarr - **Integrated With**: Jellyfin #### Bazarr (VMID 119) - **Node**: pm2 - **IP**: 10.4.2.18 - **Port**: 6767 (default) - **Purpose**: Subtitle automation - **Dependencies**: Sonarr, Radarr - **Integrated With**: Jellyfin ### Media Servers & Requests #### Jellyfin (VMID 121) - **Node**: elantris - **IP**: 10.4.2.22 - **Port**: 8096 (default) - **Purpose**: Media server - **Dependencies**: None (reads media library) - **Media Sources**: *TODO: Document media library paths* - **Status**: Needs to be added to Traefik config #### Jellyseerr (VMID 115) - **Node**: pm2 - **IP**: 10.4.2.20 - **Port**: 5055 (default) - **Purpose**: Media request management - **Dependencies**: Jellyfin, Sonarr, Radarr - **Integrated With**: Jellyfin (for library data) #### Kometa (VMID 120) - **Node**: pm2 - **IP**: 10.4.2.21 - **Purpose**: Automated metadata and collection management for Jellyfin - **Dependencies**: Jellyfin - **Run Mode**: Scheduled/automated (not web UI) #### Notifiarr (VMID 118) - **Node**: pm2 - **IP**: 10.4.2.24 - **Purpose**: Notification relay for *arr apps - **Dependencies**: Sonarr, Radarr, Prowlarr, etc. - **Notifications For**: Downloads, upgrades, errors ### Docker Hosts #### dockge (VMID 107) - **Node**: pm3 - **Purpose**: Docker Compose management web UI - **Port**: 5001 (default) - **Manages**: Docker containers across docker-pm2, docker-pm3, docker-pm4 - **Web UI**: Accessible via browser #### docker-pm2 (VMID 113) - **Node**: pm2 - **Purpose**: Docker host (currently empty/minimal) - **Status**: Available for new containerized services #### docker-pm3 (VMID 109) - **Node**: pm3 - **Purpose**: Primary Docker host - **Status**: Running containerized services (details TBD) #### docker-pm4 (VMID 110) - **Node**: pm4 - **Purpose**: Docker host - **Status**: Running containerized services ### Smart Home & IoT #### Home Assistant (VMID 100) - **Node**: pm1 - **Purpose**: Home automation platform - **Port**: 8123 (default) - **Type**: Full VM (HAOS) - **Integrations**: Z-Wave, MQTT, Twingate #### Z-Wave JS UI (VMID 102) - **Node**: pm1 - **Purpose**: Z-Wave device management - **Port**: 8091 (default) - **Dependencies**: USB Z-Wave stick - **Integrated With**: Home Assistant #### MQTT (VMID 106) - **Node**: pm3 - **Port**: 1883 (MQTT), 9001 (WebSocket) - **Purpose**: Message broker for IoT devices - **Dependencies**: None - **Clients**: Home Assistant, IoT devices #### Twingate (VMID 101) - **Node**: pm1 - **Purpose**: Zero-trust network access - **Type**: VPN alternative ### Surveillance & NVR #### Frigate (VMID 111) - **Node**: pm3 - **Port**: 5000 (default) - **Purpose**: NVR with AI object detection - **Dependencies**: None - **Storage**: High (120GB allocated) - **Features**: Object detection, motion detection - **Integrated With**: Home Assistant #### Shinobi (VMID 103) - **Node**: pm4 - **Port**: 8080 (default) - **Purpose**: Network Video Recorder - **Storage**: High network traffic (407GB in) - **Status**: May be deprecated in favor of Frigate ### Gaming #### FoundryVTT (VMID 112) - **Node**: pm3 - **Port**: 30000 (default) - **Purpose**: Virtual tabletop for RPG gaming - **Storage**: 100GB (for assets, maps, modules) - **Access**: Password protected ## Service Access URLs *TODO: Document Traefik routes for each service* Expected format: - Jellyfin: https://jellyfin.yourdomain.com - Sonarr: https://sonarr.yourdomain.com - Radarr: https://radarr.yourdomain.com - etc. ## Service Dependencies Map ``` Traefik (proxy) ├── Authelia (auth) ├── Jellyfin (media server) ├── Jellyseerr (requests) → Jellyfin, Sonarr, Radarr ├── Sonarr → Prowlarr, Bazarr ├── Radarr → Prowlarr, Bazarr ├── Whisparr → Prowlarr ├── Prowlarr (indexers) ├── Bazarr → Sonarr, Radarr ├── Home Assistant → MQTT, Z-Wave JS UI ├── Frigate → Home Assistant (optional) └── FoundryVTT ``` ## Migration Candidates (Docker → LXC) Services currently in Docker that could be migrated to LXC: - *TODO: Document after reviewing Docker container inventory* ## Service Maintenance Notes - Most services auto-update or have update notifications - Monitor Frigate storage usage (generates large video files) - Dockge provides easy UI for managing Docker stacks - *arr services should be updated together to maintain compatibility