Arr-Stack Maintenance Guide¶
Complete guide for maintaining the arr-stack services on VM 100.
Last Updated: 2025-12-08 VM: 100 (arr-stack) IP: 10.89.97.50
Overview¶
The arr-stack runs on VM 100 as Docker containers managed by docker-compose. All services route through Gluetun VPN for privacy.
Services¶
Download Clients: - SABnzbd - Usenet downloader (port 7777, via VPN) - Deluge - Torrent downloader (port 8112, via VPN)
Media Management: - Sonarr - TV show automation (port 8989) - Radarr - Movie automation (port 7878) - Lidarr - Music automation (port 8686) - Bazarr - Subtitle automation (port 6767)
Indexers & Requests: - Prowlarr - Indexer manager (port 9696) - Overseerr - Media requests (port 5055) - Jellyseerr - Alternative media requests (port 5056)
Infrastructure: - Gluetun - VPN gateway (Mullvad) - Watchtower - Automatic container updates
Auto-Start Configuration¶
Problem Fixed (2025-12-08)¶
After reboot, Docker containers were starting correctly EXCEPT there was no automatic startup. This was fixed by creating a systemd service.
Systemd Service¶
File: /etc/systemd/system/docker-compose-arr-stack.service
[Unit]
Description=Docker Compose for arr-stack
Requires=docker.service
After=docker.service
[Service]
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/opt/arr-stack
ExecStart=/usr/bin/docker compose up -d
ExecStop=/usr/bin/docker compose down
TimeoutStartSec=300
[Install]
WantedBy=multi-user.target
Status: ✅ Enabled and will start on boot
Verification¶
# Check service is enabled
ssh root@10.89.97.50 "systemctl is-enabled docker-compose-arr-stack.service"
# Check service status
ssh root@10.89.97.50 "systemctl status docker-compose-arr-stack.service"
# Check Docker containers
ssh root@10.89.97.50 "docker ps"
Common Issues¶
Issue: Containers Not Starting After Reboot¶
Symptoms: - VM is up and reachable - Docker service is running - But containers are stopped
Cause: Systemd service wasn't enabled (fixed 2025-12-08)
Verify Fix:
ssh root@10.89.97.50 "systemctl is-enabled docker-compose-arr-stack.service"
# Should output: enabled
If not enabled:
Issue: SABnzbd Exited (128)¶
Symptoms:
Cause: Exit code 128 usually means: - Config file corruption - Volume mount issue - Dependency (gluetun) not ready
Fix:
# Restart gluetun first (SABnzbd depends on it)
ssh root@10.89.97.50 "cd /opt/arr-stack && docker compose restart gluetun"
# Wait for gluetun to be healthy
ssh root@10.89.97.50 "docker ps | grep gluetun"
# Should show: Up X minutes (healthy)
# Restart sabnzbd
ssh root@10.89.97.50 "cd /opt/arr-stack && docker compose up -d sabnzbd"
Check logs:
Issue: VM Network Down After Reboot¶
Symptoms:
- qm status 100 shows "running"
- But ping 10.89.97.50 fails
- SSH connection refused
Cause: Network interface not coming up properly
Fix:
# Restart the VM
qm stop 100
sleep 5
qm start 100
# Wait for boot
sleep 60
# Test connectivity
ping -c 3 10.89.97.50
Post-Reboot Checklist¶
After rebooting Proxmox host or VM 100:
Automated (Should Work)¶
- [ ] VM 100 auto-starts (set in Proxmox)
- [ ] Docker service starts (enabled in systemd)
- [ ] Docker-compose arr-stack starts (enabled in systemd)
- [ ] All containers start (restart: unless-stopped policy)
Manual Verification (5 minutes)¶
-
Check VM is up:
-
Check network connectivity:
-
Check Docker service:
-
Check all containers running:
-
Test web UIs:
If Issues Found¶
VM not responding:
Containers not started:
Single container down:
Manual Operations¶
Start/Stop All Services¶
# Start all
ssh root@10.89.97.50 "cd /opt/arr-stack && docker compose up -d"
# Stop all
ssh root@10.89.97.50 "cd /opt/arr-stack && docker compose down"
# Restart all
ssh root@10.89.97.50 "cd /opt/arr-stack && docker compose restart"
Individual Service Control¶
# Restart specific service
ssh root@10.89.97.50 "cd /opt/arr-stack && docker compose restart sonarr"
# View logs
ssh root@10.89.97.50 "docker logs sonarr --tail=100 -f"
# Recreate container (if config changed)
ssh root@10.89.97.50 "cd /opt/arr-stack && docker compose up -d --force-recreate sonarr"
Check VPN Status¶
Critical: SABnzbd and Deluge route through Gluetun VPN. If VPN is down, downloads will fail.
# Check gluetun health
ssh root@10.89.97.50 "docker ps | grep gluetun"
# Should show: (healthy)
# Check VPN IP
ssh root@10.89.97.50 "docker exec gluetun wget -qO- ifconfig.me"
# Should show Mullvad VPN IP (NOT your real IP)
# Restart VPN
ssh root@10.89.97.50 "cd /opt/arr-stack && docker compose restart gluetun"
Update Containers¶
Watchtower automatically updates containers daily. To manually update:
# Update all
ssh root@10.89.97.50 "cd /opt/arr-stack && docker compose pull && docker compose up -d"
# Update specific service
ssh root@10.89.97.50 "cd /opt/arr-stack && docker compose pull sonarr && docker compose up -d sonarr"
Access URLs¶
Internal Access: - Sonarr: http://10.89.97.50:8989 - Radarr: http://10.89.97.50:7878 - Lidarr: http://10.89.97.50:8686 - Bazarr: http://10.89.97.50:6767 - Prowlarr: http://10.89.97.50:9696 - SABnzbd: http://10.89.97.50:7777 (via VPN) - Deluge: http://10.89.97.50:8112 (via VPN) - Overseerr: http://10.89.97.50:5055 - Jellyseerr: http://10.89.97.50:5056
External Access (via Authentik SSO): - Sonarr: https://sonarr.bogocat.com - Radarr: https://radarr.bogocat.com - Bazarr: http://bazarr.internal - (Others may not be exposed externally)
Configuration Files¶
Location: /opt/arr-stack/
/opt/arr-stack/
├── docker-compose.yml # Main compose file
├── .env # Environment variables (VPN credentials)
└── configs/
├── sonarr/ # Sonarr config
├── radarr/ # Radarr config
├── bazarr/ # Bazarr config
├── prowlarr/ # Prowlarr config
├── sabnzbd/ # SABnzbd config
├── deluge/ # Deluge config
├── overseerr/ # Overseerr config
└── jellyseerr/ # Jellyseerr config
Backup Critical Files:
Troubleshooting¶
All Services Show 302 Redirects¶
This is normal! 302 redirects mean the service is up and redirecting to login/auth page.
Can't Access Services¶
-
Check VM network:
-
Check Docker is running:
-
Check containers:
-
Check specific service logs:
VPN Not Connected¶
Symptoms: Downloads fail, SABnzbd/Deluge unreachable
Check:
Fix:
# Restart gluetun
ssh root@10.89.97.50 "cd /opt/arr-stack && docker compose restart gluetun"
# Wait for it to be healthy
ssh root@10.89.97.50 "docker ps | grep gluetun"
# Restart dependent services
ssh root@10.89.97.50 "cd /opt/arr-stack && docker compose restart sabnzbd deluge"
Related Documentation¶
- Post-Reboot Recovery - Main reboot guide
- Proxmox/LXC Operations
- Docker Compose file:
/opt/arr-stack/docker-compose.yml(on VM 100)
Change Log¶
- 2025-12-08: Created systemd service for auto-start after reboot
- 2025-12-08: Documented SABnzbd exit code 128 issue and fix
- 2025-12-08: Added post-reboot checklist