Compare commits
17 Commits
1cfd87f450
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 72f1b3f100 | |||
| 42e2241617 | |||
| 2391a5bf86 | |||
| 800defa479 | |||
| 16de4929bc | |||
| 2fefe45ebf | |||
| 96d413602f | |||
| 561bea3028 | |||
| c51fae4e7f | |||
| 41ccc28800 | |||
| 2705ad59bd | |||
| c9f30559b5 | |||
| 2c8dbe29c8 | |||
| c12c531c33 | |||
| 3f0c050ff6 | |||
| e4506d6a07 | |||
| 9002edcf9a |
@@ -4,7 +4,9 @@
|
|||||||
"Bash(chmod:*)",
|
"Bash(chmod:*)",
|
||||||
"Bash(ssh:*)",
|
"Bash(ssh:*)",
|
||||||
"Bash(ping:*)",
|
"Bash(ping:*)",
|
||||||
"WebSearch"
|
"WebSearch",
|
||||||
|
"Bash(tee:*)",
|
||||||
|
"Bash(curl:*)"
|
||||||
],
|
],
|
||||||
"deny": [],
|
"deny": [],
|
||||||
"ask": []
|
"ask": []
|
||||||
|
|||||||
@@ -194,12 +194,12 @@ ip -br addr show
|
|||||||
- 10.4.2.14: elantris
|
- 10.4.2.14: elantris
|
||||||
|
|
||||||
**Media Stack**:
|
**Media Stack**:
|
||||||
- 10.4.2.15: sonarr (LXC 105)
|
- 10.4.2.20: sonarr (LXC 105)
|
||||||
- 10.4.2.16: radarr (LXC 108)
|
- 10.4.2.16: radarr (LXC 108)
|
||||||
- 10.4.2.17: prowlarr (LXC 114)
|
- 10.4.2.17: prowlarr (LXC 114)
|
||||||
- 10.4.2.18: bazarr (LXC 119)
|
- 10.4.2.18: bazarr (LXC 119)
|
||||||
- 10.4.2.19: whisparr (LXC 117)
|
- 10.4.2.19: whisparr (LXC 117)
|
||||||
- 10.4.2.20: jellyseerr (LXC 115)
|
- 10.4.2.25: jellyseerr (LXC 115)
|
||||||
- 10.4.2.21: kometa (LXC 120)
|
- 10.4.2.21: kometa (LXC 120)
|
||||||
- 10.4.2.22: jellyfin (LXC 121)
|
- 10.4.2.22: jellyfin (LXC 121)
|
||||||
|
|
||||||
|
|||||||
@@ -2,8 +2,75 @@
|
|||||||
|
|
||||||
> **Purpose**: Historical record of all significant infrastructure changes
|
> **Purpose**: Historical record of all significant infrastructure changes
|
||||||
|
|
||||||
|
## 2026-01-12
|
||||||
|
|
||||||
|
### Sonarr Disk Space Fix
|
||||||
|
- Fixed SQLite disk I/O errors in Sonarr (LXC 105)
|
||||||
|
- Root cause: 4GB rootfs was 100% full, causing database corruption
|
||||||
|
- Resized rootfs from 4GB to 12GB
|
||||||
|
- Ran e2fsck to repair filesystem corruption
|
||||||
|
- Deleted corrupted logs.db (Sonarr recreates automatically)
|
||||||
|
|
||||||
|
### Documentation IP Corrections
|
||||||
|
- Updated Sonarr IP from 10.4.2.15 to 10.4.2.20 across all docs
|
||||||
|
- Updated Jellyseerr IP from 10.4.2.20 to 10.4.2.25 in infrastructure-map.md
|
||||||
|
- Files updated: CLAUDE.md, network.md, recyclarr-setup.md, CONFIGURATIONS.md, inventory.md, infrastructure-map.md, services.md, scripts/cleanup/*
|
||||||
|
|
||||||
|
### RomM 4.5 Installation
|
||||||
|
- Deployed RomM (ROM Manager) via Docker on docker-pm3 (VM 109)
|
||||||
|
- URL: http://10.4.2.202:8998
|
||||||
|
- ROM library mounted from KavNas at /mnt/kavnas/Roms/roms
|
||||||
|
- Assets directory at /mnt/kavnas/Roms/assets
|
||||||
|
- Added persistent NFS mount for KavNas on docker-pm3
|
||||||
|
- MariaDB backend for metadata storage
|
||||||
|
|
||||||
|
## 2026-01-04
|
||||||
|
|
||||||
|
### Foundry VTT Network Fix
|
||||||
|
- Fixed bad gateway error for vtt.kavcorp.com
|
||||||
|
- Issue: LXC 112 was using DHCP and got IP 10.4.2.177 instead of expected 10.4.2.37
|
||||||
|
- Fix: Set static IP 10.4.2.37/24 with gateway 10.4.2.1 on LXC 112
|
||||||
|
- Rebooted container to apply network changes
|
||||||
|
|
||||||
|
## 2026-01-03
|
||||||
|
|
||||||
|
### Sunshine Remote Desktop on KavHTPC
|
||||||
|
- Installed Sunshine (game streaming host) on KavHTPC for remote desktop access
|
||||||
|
- Configured UFW firewall rules for Sunshine ports from Trusted (10.4.0.0/24) and LAN (10.4.2.0/24)
|
||||||
|
- TCP: 47984, 47989, 47990, 48010
|
||||||
|
- UDP: 47998-48000
|
||||||
|
- Enabled sunshine.service as user service (auto-starts with user session)
|
||||||
|
- Hardware encoding: NVIDIA nvenc (H.264, HEVC, AV1)
|
||||||
|
- Web UI: https://10.4.2.190:47990
|
||||||
|
|
||||||
|
### Basement HTPC Added
|
||||||
|
- Added basement HTPC to infrastructure (10.4.2.190)
|
||||||
|
- Created SSH profile `htpc` in ~/.ssh/config
|
||||||
|
- Added new "Clients / Endpoints" section to INFRASTRUCTURE.md for DHCP-range devices
|
||||||
|
|
||||||
|
## 2026-01-02
|
||||||
|
|
||||||
|
### Synology DSM Traefik Route
|
||||||
|
- Added Traefik route for `dsm.kavcorp.com` → KavNas DSM (10.4.2.13:5001)
|
||||||
|
- Config: `/etc/traefik/conf.d/dsm.yaml`
|
||||||
|
- Note: DSM is serving HTTP on port 5001 (not HTTPS), Traefik terminates TLS
|
||||||
|
|
||||||
## 2025-12-28
|
## 2025-12-28
|
||||||
|
|
||||||
|
### Guest VLAN Traefik Access
|
||||||
|
- Added firewall rule allowing Guest VLAN to access Traefik (10.4.2.10:443)
|
||||||
|
- Guests can now use `https://jellyfin.kavcorp.com` etc. with valid certs
|
||||||
|
|
||||||
|
### Internal DNS for kavcorp.com Domains
|
||||||
|
- Added Pi-hole DNS entries for `*.kavcorp.com` pointing to Traefik (10.4.2.10)
|
||||||
|
- Internal clients can now access `https://jellyfin.kavcorp.com` etc. with valid Let's Encrypt certs
|
||||||
|
- No port numbers needed, same URLs work internally and externally
|
||||||
|
- Also added Traefik `internal` entrypoint on port 8080 for .kav HTTP access (optional)
|
||||||
|
|
||||||
|
### Guest VLAN Media Access
|
||||||
|
- Added firewall rules allowing Guest VLAN to access Jellyseerr (10.4.2.25) and Jellyfin (10.4.2.26)
|
||||||
|
- Rules inserted before "Block Guest to LAN" to allow media streaming for guests
|
||||||
|
|
||||||
### Guest VLAN Internet Fix
|
### Guest VLAN Internet Fix
|
||||||
- Fixed Guest VLAN (10.4.30.0/24) having no internet access
|
- Fixed Guest VLAN (10.4.30.0/24) having no internet access
|
||||||
- Root cause: OPNsense DHCP and firewall rules referenced non-existent 10.4.2.129 for DNS
|
- Root cause: OPNsense DHCP and firewall rules referenced non-existent 10.4.2.129 for DNS
|
||||||
|
|||||||
@@ -141,6 +141,33 @@ http:
|
|||||||
insecureSkipVerify: true
|
insecureSkipVerify: true
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Synology DSM
|
||||||
|
|
||||||
|
**Location**: KavNas (Synology NAS)
|
||||||
|
**IP**: 10.4.2.13:5001
|
||||||
|
**Domain**: dsm.kavcorp.com
|
||||||
|
|
||||||
|
**Traefik Config** (`/etc/traefik/conf.d/dsm.yaml`):
|
||||||
|
```yaml
|
||||||
|
http:
|
||||||
|
routers:
|
||||||
|
dsm:
|
||||||
|
rule: "Host(`dsm.kavcorp.com`)"
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
service: dsm
|
||||||
|
tls:
|
||||||
|
certResolver: letsencrypt
|
||||||
|
|
||||||
|
services:
|
||||||
|
dsm:
|
||||||
|
loadBalancer:
|
||||||
|
servers:
|
||||||
|
- url: "http://10.4.2.13:5001"
|
||||||
|
```
|
||||||
|
|
||||||
|
**Note**: DSM is configured for HTTP on port 5001 (not HTTPS). Traefik terminates TLS.
|
||||||
|
|
||||||
## AMP (Application Management Panel)
|
## AMP (Application Management Panel)
|
||||||
|
|
||||||
**Location**: LXC 124 on elantris
|
**Location**: LXC 124 on elantris
|
||||||
@@ -183,7 +210,7 @@ http:
|
|||||||
## Sonarr
|
## Sonarr
|
||||||
|
|
||||||
**Location**: LXC 105 on pm2
|
**Location**: LXC 105 on pm2
|
||||||
**IP**: 10.4.2.15:8989
|
**IP**: 10.4.2.20:8989
|
||||||
**API Key**: b331fe18ec2144148a41645d9ce8b249
|
**API Key**: b331fe18ec2144148a41645d9ce8b249
|
||||||
|
|
||||||
**Media Management Settings**:
|
**Media Management Settings**:
|
||||||
@@ -352,3 +379,81 @@ http:
|
|||||||
- url: "http://10.4.2.24:2283"
|
- url: "http://10.4.2.24:2283"
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## RomM
|
||||||
|
|
||||||
|
**Location**: Docker on docker-pm3 (VM 109)
|
||||||
|
**IP**: 10.4.2.202:8998
|
||||||
|
**Version**: 4.5.0
|
||||||
|
|
||||||
|
**Docker Compose** (`/opt/romm/docker-compose.yml`):
|
||||||
|
```yaml
|
||||||
|
services:
|
||||||
|
romm:
|
||||||
|
image: rommapp/romm:latest
|
||||||
|
container_name: romm
|
||||||
|
ports:
|
||||||
|
- 8998:8080
|
||||||
|
environment:
|
||||||
|
- DB_HOST=romm-db
|
||||||
|
- DB_NAME=romm
|
||||||
|
- DB_USER=romm-user
|
||||||
|
- DB_PASSWD=55e7720ac5100322678bacf0a7705bf9
|
||||||
|
- ROMM_AUTH_SECRET_KEY=05817a5501383c44287fc4079082f9fc0543013f186e61789aa2cc2be58d22e8
|
||||||
|
- HASHEOUS_API_ENABLED=true
|
||||||
|
- ENABLE_SCHEDULED_RESCAN=true
|
||||||
|
- SCHEDULED_RESCAN_CRON=0 3 * * *
|
||||||
|
- ENABLE_RESCAN_ON_FILESYSTEM_CHANGE=true
|
||||||
|
- RESCAN_ON_FILESYSTEM_CHANGE_DELAY=5
|
||||||
|
- SCREENSCRAPER_USER=kavren
|
||||||
|
- SCREENSCRAPER_PASSWORD=outlaw
|
||||||
|
- RETROACHIEVEMENTS_USERNAME=kavren
|
||||||
|
- RETROACHIEVEMENTS_API_KEY=obwPWYqylOhy9LA0Mapr64LrUuKNUZLc
|
||||||
|
- STEAMGRIDDB_API_KEY=447ec66ceaef54d52e249a403ec4d4ec
|
||||||
|
- PLAYMATCH_API_ENABLED=true
|
||||||
|
volumes:
|
||||||
|
- romm_resources:/romm/resources
|
||||||
|
- romm_redis_data:/redis-data
|
||||||
|
- /mnt/kavnas/Roms:/romm/library
|
||||||
|
- /opt/romm/config:/romm/config
|
||||||
|
|
||||||
|
romm-db:
|
||||||
|
image: mariadb:latest
|
||||||
|
container_name: romm-db
|
||||||
|
environment:
|
||||||
|
- MARIADB_ROOT_PASSWORD=55e7720ac5100322678bacf0a7705bf9
|
||||||
|
- MARIADB_DATABASE=romm
|
||||||
|
- MARIADB_USER=romm-user
|
||||||
|
- MARIADB_PASSWORD=55e7720ac5100322678bacf0a7705bf9
|
||||||
|
```
|
||||||
|
|
||||||
|
**NFS Mount** (docker-pm3 `/etc/fstab`):
|
||||||
|
```
|
||||||
|
10.4.2.13:/volume1/Media /mnt/kavnas nfs rw,soft,nfsvers=4 0 0
|
||||||
|
```
|
||||||
|
|
||||||
|
**ROM Library Structure** (RomM expects Structure A: `/library/roms/<platform>/`):
|
||||||
|
- Mount: `/mnt/kavnas/Roms:/romm/library`
|
||||||
|
- ROMs location: `/mnt/kavnas/Roms/roms/<platform>/` → `/romm/library/roms/<platform>/`
|
||||||
|
- Assets: `/mnt/kavnas/Roms/assets/` (cover art, screenshots)
|
||||||
|
|
||||||
|
**Network Note**: docker-pm3 gateway is 10.4.2.1 (configured in `/etc/netplan/50-cloud-init.yaml`)
|
||||||
|
|
||||||
|
**Traefik Config** (`/etc/traefik/conf.d/romm.yaml`):
|
||||||
|
```yaml
|
||||||
|
http:
|
||||||
|
routers:
|
||||||
|
romm:
|
||||||
|
rule: "Host(`romm.kavcorp.com`)"
|
||||||
|
entryPoints:
|
||||||
|
- websecure
|
||||||
|
service: romm
|
||||||
|
tls:
|
||||||
|
certResolver: letsencrypt
|
||||||
|
|
||||||
|
services:
|
||||||
|
romm:
|
||||||
|
loadBalancer:
|
||||||
|
servers:
|
||||||
|
- url: "http://10.4.2.202:8998"
|
||||||
|
```
|
||||||
|
|
||||||
|
|||||||
@@ -55,7 +55,14 @@
|
|||||||
- `.local` - Conflicts with mDNS/Bonjour
|
- `.local` - Conflicts with mDNS/Bonjour
|
||||||
- `.home.arpa` - RFC 8375 compliant but verbose
|
- `.home.arpa` - RFC 8375 compliant but verbose
|
||||||
|
|
||||||
**Usage**: All services accessible via `<service>.kav` (e.g., traefik.kav, sonarr.kav)
|
**Usage**:
|
||||||
|
- **HTTPS (recommended)**: `https://<service>.kavcorp.com` - valid Let's Encrypt certs, works internally and externally
|
||||||
|
- **HTTP (optional)**: `http://<service>.kav:8080/` - internal only, no certs needed
|
||||||
|
|
||||||
|
**Internal DNS Configuration**:
|
||||||
|
- Pi-hole resolves `*.kavcorp.com` to Traefik (10.4.2.10) for internal HTTPS access
|
||||||
|
- Pi-hole resolves `.kav` domains to Traefik for HTTP:8080 access
|
||||||
|
- Direct access (no Traefik): pm1-4.kav, elantris.kav, kavnas.kav, docker hosts, mqtt.kav, zwave.kav
|
||||||
|
|
||||||
### SSH Access Policy
|
### SSH Access Policy
|
||||||
|
|
||||||
@@ -117,6 +124,8 @@ All DHCP served by OPNsense:
|
|||||||
| Rule | Source | Destination | Action |
|
| Rule | Source | Destination | Action |
|
||||||
|------|--------|-------------|--------|
|
|------|--------|-------------|--------|
|
||||||
| Allow DNS | IoT/Guest | 10.4.2.11:53 | Pass |
|
| Allow DNS | IoT/Guest | 10.4.2.11:53 | Pass |
|
||||||
|
| Allow Guest→Traefik | 10.4.30.0/24 | 10.4.2.10:443 | Pass |
|
||||||
|
| Allow Guest→Media | 10.4.30.0/24 | 10.4.2.25, 10.4.2.26 | Pass |
|
||||||
| Block IoT→LAN | 10.4.20.0/24 | 10.4.2.0/24 | Block |
|
| Block IoT→LAN | 10.4.20.0/24 | 10.4.2.0/24 | Block |
|
||||||
| Block Guest→LAN | 10.4.30.0/24 | 10.4.2.0/24 | Block |
|
| Block Guest→LAN | 10.4.30.0/24 | 10.4.2.0/24 | Block |
|
||||||
| Block Guest→IoT | 10.4.30.0/24 | 10.4.20.0/24 | Block |
|
| Block Guest→IoT | 10.4.30.0/24 | 10.4.20.0/24 | Block |
|
||||||
|
|||||||
@@ -85,6 +85,12 @@
|
|||||||
| **docker-pm3** | 10.4.2.202 | VM 109 (pm3) | docker-pm3.kav |
|
| **docker-pm3** | 10.4.2.202 | VM 109 (pm3) | docker-pm3.kav |
|
||||||
| **Dockge** | 10.4.2.203 | LXC 107 (pm3) | dockge.kav |
|
| **Dockge** | 10.4.2.203 | LXC 107 (pm3) | dockge.kav |
|
||||||
|
|
||||||
|
### Clients / Endpoints (DHCP Range 10.4.2.100-199)
|
||||||
|
|
||||||
|
| Device | IP | Location | Notes |
|
||||||
|
|--------|-----|----------|-------|
|
||||||
|
| **KavHTPC** | 10.4.2.190 | Basement | CachyOS HTPC for media playback, Sunshine (47990) |
|
||||||
|
|
||||||
### Other
|
### Other
|
||||||
|
|
||||||
| Service | IP:Port | Location | Domain |
|
| Service | IP:Port | Location | Domain |
|
||||||
|
|||||||
@@ -14,17 +14,18 @@
|
|||||||
|
|
||||||
| Service | IP:Port | Location | Notes |
|
| Service | IP:Port | Location | Notes |
|
||||||
|---------|---------|----------|-------|
|
|---------|---------|----------|-------|
|
||||||
| Sonarr | 10.4.2.15:8989 | LXC 105 on pm2 | TV shows |
|
| Sonarr | 10.4.2.20:8989 | LXC 105 on pm2 | TV shows |
|
||||||
| Radarr | 10.4.2.16:7878 | - | Movies |
|
| Radarr | 10.4.2.16:7878 | - | Movies |
|
||||||
| Prowlarr | 10.4.2.17:9696 | - | Indexer manager |
|
| Prowlarr | 10.4.2.17:9696 | - | Indexer manager |
|
||||||
| Bazarr | 10.4.2.18:6767 | - | Subtitles |
|
| Bazarr | 10.4.2.18:6767 | - | Subtitles |
|
||||||
| Whisparr | 10.4.2.19:6969 | - | Adult content |
|
| Whisparr | 10.4.2.19:6969 | - | Adult content |
|
||||||
| Jellyseerr | 10.4.2.20:5055 | LXC 115 on pm2 | Request management |
|
| Jellyseerr | 10.4.2.25:5055 | LXC 115 on pm2 | Request management |
|
||||||
| Jellyfin | 10.4.2.21:8096 | LXC 121 on elantris | Media server |
|
| Jellyfin | 10.4.2.21:8096 | LXC 121 on elantris | Media server |
|
||||||
| NZBGet | 10.4.2.13:6789 | Docker on kavnas | Download client |
|
| NZBGet | 10.4.2.13:6789 | Docker on kavnas | Download client |
|
||||||
| Traefik | 10.4.2.10 | LXC 104 on pm2 | Reverse proxy |
|
| Traefik | 10.4.2.10 | LXC 104 on pm2 | Reverse proxy |
|
||||||
| Home Assistant | 10.4.2.62:8123 | VM 100 on pm1 | Home automation |
|
| Home Assistant | 10.4.2.62:8123 | VM 100 on pm1 | Home automation |
|
||||||
| Frigate | 10.4.2.63:5000 | - | NVR/Camera system |
|
| Frigate | 10.4.2.63:5000 | - | NVR/Camera system |
|
||||||
|
| RomM | 10.4.2.202:8998 | Docker on docker-pm3 | ROM manager |
|
||||||
|
|
||||||
## Storage
|
## Storage
|
||||||
|
|
||||||
@@ -37,7 +38,7 @@
|
|||||||
|
|
||||||
All services accessible via `*.kavcorp.com` through Traefik reverse proxy:
|
All services accessible via `*.kavcorp.com` through Traefik reverse proxy:
|
||||||
- pm.kavcorp.com → pm2 (10.4.2.6:8006)
|
- pm.kavcorp.com → pm2 (10.4.2.6:8006)
|
||||||
- sonarr.kavcorp.com → 10.4.2.15:8989
|
- sonarr.kavcorp.com → 10.4.2.20:8989
|
||||||
- radarr.kavcorp.com → 10.4.2.16:7878
|
- radarr.kavcorp.com → 10.4.2.16:7878
|
||||||
- jellyfin.kavcorp.com → 10.4.2.21:8096
|
- jellyfin.kavcorp.com → 10.4.2.21:8096
|
||||||
- hass.kavcorp.com → 10.4.2.62:8123
|
- hass.kavcorp.com → 10.4.2.62:8123
|
||||||
|
|||||||
@@ -69,7 +69,7 @@
|
|||||||
|
|
||||||
#### VMID 105 - sonarr
|
#### VMID 105 - sonarr
|
||||||
- **Node**: pm2
|
- **Node**: pm2
|
||||||
- **IP**: 10.4.2.15
|
- **IP**: 10.4.2.20
|
||||||
- **CPU**: 2 cores
|
- **CPU**: 2 cores
|
||||||
- **Memory**: 1GB
|
- **Memory**: 1GB
|
||||||
- **Disk**: 4GB (KavNas)
|
- **Disk**: 4GB (KavNas)
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ iface vmbr0 inet static
|
|||||||
#### Media Automation Stack
|
#### Media Automation Stack
|
||||||
| IP | Service | VMID | Node | Purpose |
|
| IP | Service | VMID | Node | Purpose |
|
||||||
|---|---|---|---|---|
|
|---|---|---|---|---|
|
||||||
| 10.4.2.15 | sonarr | 105 | pm2 | TV show management |
|
| 10.4.2.20 | sonarr | 105 | pm2 | TV show management |
|
||||||
| 10.4.2.16 | radarr | 108 | pm2 | Movie management |
|
| 10.4.2.16 | radarr | 108 | pm2 | Movie management |
|
||||||
| 10.4.2.17 | prowlarr | 114 | pm2 | Indexer manager |
|
| 10.4.2.17 | prowlarr | 114 | pm2 | Indexer manager |
|
||||||
| 10.4.2.18 | bazarr | 119 | pm2 | Subtitle management |
|
| 10.4.2.18 | bazarr | 119 | pm2 | Subtitle management |
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ Recyclarr automatically syncs TRaSH Guides recommended custom formats and qualit
|
|||||||
- Uses TRaSH Guides release group tiers (BD, WEB, Anime BD, Anime WEB)
|
- Uses TRaSH Guides release group tiers (BD, WEB, Anime BD, Anime WEB)
|
||||||
|
|
||||||
### Sonarr (TV Shows)
|
### Sonarr (TV Shows)
|
||||||
- **URL**: http://10.4.2.15:8989
|
- **URL**: http://10.4.2.20:8989
|
||||||
- **API Key**: b331fe18ec2144148a41645d9ce8b249
|
- **API Key**: b331fe18ec2144148a41645d9ce8b249
|
||||||
- **Quality Profiles**:
|
- **Quality Profiles**:
|
||||||
- WEB-1080p (standard)
|
- WEB-1080p (standard)
|
||||||
@@ -122,7 +122,7 @@ ssh pm2 "pct exec 122 -- /usr/local/bin/recyclarr sync --preview"
|
|||||||
curl -H "X-Api-Key: 5e6796988abf4d6d819a2b506a44f422" http://10.4.2.16:7878/api/v3/system/status
|
curl -H "X-Api-Key: 5e6796988abf4d6d819a2b506a44f422" http://10.4.2.16:7878/api/v3/system/status
|
||||||
|
|
||||||
# Test Sonarr
|
# Test Sonarr
|
||||||
curl -H "X-Api-Key: b331fe18ec2144148a41645d9ce8b249" http://10.4.2.15:8989/api/v3/system/status
|
curl -H "X-Api-Key: b331fe18ec2144148a41645d9ce8b249" http://10.4.2.20:8989/api/v3/system/status
|
||||||
```
|
```
|
||||||
|
|
||||||
### Force resync all custom formats
|
### Force resync all custom formats
|
||||||
|
|||||||
@@ -34,7 +34,7 @@
|
|||||||
|
|
||||||
#### Sonarr (VMID 105)
|
#### Sonarr (VMID 105)
|
||||||
- **Node**: pm2
|
- **Node**: pm2
|
||||||
- **IP**: 10.4.2.15
|
- **IP**: 10.4.2.20
|
||||||
- **Port**: 8989 (default)
|
- **Port**: 8989 (default)
|
||||||
- **Purpose**: TV show automation
|
- **Purpose**: TV show automation
|
||||||
- **Dependencies**: Prowlarr
|
- **Dependencies**: Prowlarr
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ ssh pm2 "python3 /root/organize-media.py --quiet"
|
|||||||
- Gets all movies and their file paths
|
- Gets all movies and their file paths
|
||||||
- Identifies which files are actively managed
|
- Identifies which files are actively managed
|
||||||
|
|
||||||
2. **Queries Sonarr API** (http://10.4.2.15:8989)
|
2. **Queries Sonarr API** (http://10.4.2.20:8989)
|
||||||
- Gets all TV series and their episode files
|
- Gets all TV series and their episode files
|
||||||
- Identifies which files are actively managed
|
- Identifies which files are actively managed
|
||||||
|
|
||||||
@@ -106,7 +106,7 @@ The script has hardcoded configuration at the top:
|
|||||||
```python
|
```python
|
||||||
RADARR_URL = "http://10.4.2.16:7878"
|
RADARR_URL = "http://10.4.2.16:7878"
|
||||||
RADARR_API_KEY = "5e6796988abf4d6d819a2b506a44f422"
|
RADARR_API_KEY = "5e6796988abf4d6d819a2b506a44f422"
|
||||||
SONARR_URL = "http://10.4.2.15:8989"
|
SONARR_URL = "http://10.4.2.20:8989"
|
||||||
SONARR_API_KEY = "b331fe18ec2144148a41645d9ce8b249"
|
SONARR_API_KEY = "b331fe18ec2144148a41645d9ce8b249"
|
||||||
|
|
||||||
MEDIA_DIRS = {
|
MEDIA_DIRS = {
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ import urllib.error
|
|||||||
# Configuration
|
# Configuration
|
||||||
RADARR_URL = "http://10.4.2.16:7878"
|
RADARR_URL = "http://10.4.2.16:7878"
|
||||||
RADARR_API_KEY = "5e6796988abf4d6d819a2b506a44f422"
|
RADARR_API_KEY = "5e6796988abf4d6d819a2b506a44f422"
|
||||||
SONARR_URL = "http://10.4.2.15:8989"
|
SONARR_URL = "http://10.4.2.20:8989"
|
||||||
SONARR_API_KEY = "b331fe18ec2144148a41645d9ce8b249"
|
SONARR_API_KEY = "b331fe18ec2144148a41645d9ce8b249"
|
||||||
|
|
||||||
MEDIA_DIRS = {
|
MEDIA_DIRS = {
|
||||||
|
|||||||
Reference in New Issue
Block a user