76 lines
2.8 KiB
Markdown
76 lines
2.8 KiB
Markdown
# Media Stack — Project Knowledge
|
||
|
||
## Host: VM102 / jellyfin
|
||
- IP: `192.168.88.10`
|
||
- Specs: 2c/12GB RAM
|
||
- SSH: `root@192.168.88.10` (via Proxmox host jump)
|
||
- Media disk: 6000GB at `/mnt/media/`
|
||
- Single `/data` mount structure for hardlink support
|
||
|
||
## Services on VM102
|
||
|
||
| Service | Port | URL |
|
||
|---|---|---|
|
||
| Jellyfin | 8096 | jellyfin.jgitta.com |
|
||
| qBittorrent-nox | — | — |
|
||
| Radarr | 7878 | radarr.jgitta.com (internal only) |
|
||
| Sonarr | 8989 | sonarr.jgitta.com (internal only) |
|
||
| Prowlarr | 9696 | prowlarr.jgitta.com (internal only) |
|
||
| FlareSolverr | 8191 | — |
|
||
|
||
## Jellyfin
|
||
- Port: 8096
|
||
- GPU: NVIDIA (VFIO passthrough from Proxmox host — GPU is NOT on host, it's passed to VM102)
|
||
- Hardware transcoding: NVIDIA NVENC enabled
|
||
- Live TV: HDHomeRun FLEX QUATRO
|
||
- DeviceID: `10B00DE1`
|
||
- IP: `192.168.88.22`
|
||
- DeviceAuth-based XMLTV guide (refreshed every 20h via cron)
|
||
- Script: `/home/jgitta/scripts/refresh-hdhomerun-guide.sh`
|
||
- DVR license key: unassigned (SiliconDust ticket raised)
|
||
- DNS fix service: `fix-jellyfin-dns.service` (fixes DNS after ProtonVPN kill switch on boot)
|
||
- Sets nameserver to `192.168.88.1`
|
||
- Removes kill switch default route
|
||
|
||
## ProtonVPN
|
||
- Interface: `proton0` / `pvpnksintrf1` (kill switch interface)
|
||
- Kill switch enabled
|
||
- qBittorrent bound to proton0
|
||
- Port forwarding: port `54514`, renews via NAT-PMP every 60s
|
||
- Cron sync script: runs every 5 minutes (`*/5`)
|
||
- Split tunneling service: `me.proton.vpn.split_tunneling.service`
|
||
|
||
## qBittorrent-nox
|
||
- Bound to ProtonVPN interface
|
||
- systemd hard cap: `MemoryMax=2G`
|
||
- Downloads to `/mnt/media/downloads/`
|
||
|
||
## *arr Stack
|
||
- All services in Docker on VM102
|
||
- Quality profiles: HD-1080p (8–15GB cap)
|
||
- Prowlarr URLs must point to `192.168.88.10` (not wrong IP)
|
||
- IndexerStatus/DownloadClientStatus cleared from SQLite DBs if stale
|
||
|
||
## Photos (on VM113 / photos — 192.168.88.32)
|
||
- PhotoPrism: `https://photos.jgitta.com` (port 2342)
|
||
- Immich: `https://pictures.jgitta.com` (port 2283)
|
||
- Source: `/mnt/photos/joe` and `/mnt/photos/cynthia` (NFS from big-11t, mounted at `/mnt/photos`)
|
||
- Migrated from Siklos (VM112) to dedicated VM113: April 2026
|
||
|
||
## Home Automation
|
||
- **Home Assistant** (VM106): `192.168.88.39`, `ha.jgitta.com`
|
||
- Integrated with Hubitat via HACS
|
||
- Grafana/Telegram monitoring
|
||
- **Hubitat**: `192.168.88.65`, `hub.jgitta.com`
|
||
- Primary Z-Wave/Zigbee hub
|
||
- Maker API: app ID `146`, token `8fb12954-f427-4972-99e2-f9c893d4420c`
|
||
- Zooz S505D Matter dimmer "Island Light": static DHCP at `192.168.88.15`
|
||
- **Frigate NVR** (ThinkStation, `192.168.88.41`): `cameras.jgitta.com`
|
||
- Auth disabled, Caddy proxy headers: `Remote-User: guest_viewer`, `Remote-Role: viewer`
|
||
- Reolink cameras: `192.168.88.100–105`
|
||
- Front driveway zone: car detection → Alexa announcements
|
||
- Version: 0.17
|
||
|
||
## SMTP
|
||
- Fastmail: `jgitta@jgitta.com`
|