Files
proxmox-infra/docs/services.md
kavren 120c2ec809 Initial commit: KavCorp infrastructure documentation
- CLAUDE.md: Project configuration for Claude Code
- docs/: Infrastructure documentation
  - INFRASTRUCTURE.md: Service map, storage, network
  - CONFIGURATIONS.md: Service configs and credentials
  - CHANGELOG.md: Change history
  - DECISIONS.md: Architecture decisions
  - TASKS.md: Task tracking
- scripts/: Automation scripts

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-07 22:07:01 -05:00

223 lines
5.8 KiB
Markdown

# 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