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>
This commit is contained in:
222
docs/services.md
Normal file
222
docs/services.md
Normal file
@@ -0,0 +1,222 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user