3.8 KiB
3.8 KiB
📺 Sonarr - Container 104
Overview
Sonarr is a TV series management and downloader tool. It automates the discovery, downloading, and organization of TV content through indexers and torrent clients. In this homelab, Sonarr runs natively inside an unprivileged LXC container on Proxmox (not Docker).
Service Details
- Container ID: 104
- Hostname: sonarr
- IP Address: 192.168.1.39
- Port: 8989 (Web UI)
- Access: LAN-only via Tailscale (not publicly exposed)
- Authentication: Enabled (
Formslogin) - Username / Password:
admin/pcideas(stored in Bitwarden underhomelab > Sonarr)
Hosting & Platform
- Platform: Native install in Debian-based LXC
- Privileged: No
- Features:
keyctl=1,nesting=1 - Service: systemd-managed (
sonarr.service) - Binary Path:
/opt/Sonarr/Sonarr - Config Directory:
/var/lib/sonarr - Runs As:
root(inside unprivileged LXC)
Storage & Mounts
| Host Path | Container Path | Purpose |
|---|---|---|
/mnt/ssd_downloads |
/downloads |
Source of completed downloads |
/mnt/smb_shares/g_media |
/mnt/g_media |
TV media root folder |
/mnt/smb_shares/h_media |
/mnt/h_media |
TV media root folder |
/mnt/smb_shares/i_media |
/mnt/i_media |
TV media root folder |
/mnt/smb_shares/j_media |
/mnt/j_media |
TV media root folder |
/mnt/smb_shares/k_media |
/mnt/k_media |
TV media root folder |
/mnt/smb_shares/f_media |
/mnt/f_media |
TV media root folder |
Configuration
- Indexer: Jackett (Torznab URL)
- Download Client: qBittorrent at
192.168.1.47:8080- Username / Password:
admin/pcideas - Remote Path Mapping:
/mnt/ssd_downloads(host) →/downloads(Sonarr) - Share Limit Action:
Pause(prevents interference with file import)
- Username / Password:
Import Behavior
- Completed Download Handling: ✅ Enabled
- Import Method: Move + Rename
- Category Use: Optional (
tv) in qBittorrent - Hardlinking: ❌ Disabled
- Sonarr auto-detects the correct root folder based on existing library paths.
Config Files
- Primary Config:
/var/lib/sonarr/config.xml - Stores:
- Web UI port (8989)
- Bind address (
*) - SSL settings (disabled)
- Authentication method (Forms)
- API key
- Web UI Behavior:
LaunchBrowser: falseUrlBase: emptyBranch: master
Backup & Recovery
- Backup Target:
/var/lib/sonarr - Strategy: Scheduled LXC container backups + optional rsync or tarball
- Manual Backup Command:
tar -czvf /root/sonarr-config-backup-$(date +%F).tar.gz /var/lib/sonarr - Restore: Extract and restart the service
Logs & Monitoring
- Log Path:
/var/lib/sonarr/logs/ - Monitoring: Not currently configured
Updates
To update manually:
systemctl stop sonarr
curl -Lo /tmp/sonarr.tar.gz https://services.sonarr.tv/v1/download/main/latest?version=3&os=linux&arch=x64
tar -xvzf /tmp/sonarr.tar.gz -C /tmp/sonarr-update
cp -r /tmp/sonarr-update/* /opt/Sonarr/
chown -R root:root /opt/Sonarr
systemctl start sonarr
Systemd Service File
/etc/systemd/system/sonarr.service
[Unit]
Description=Sonarr Daemon
After=syslog.target network.target
[Service]
Type=simple
ExecStart=/opt/Sonarr/Sonarr -nobrowser -data=/var/lib/sonarr/
TimeoutStopSec=20
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target
Notes
- Hardlinking is disabled
- All media mounts are SMB-backed ZFS datasets
- Remote path mapping is required due to separate qBittorrent container
- Integration with Plex is via webhook
- Config and logs are stored in
/var/lib/sonarr - Sonarr runs as
rootwhich simplifies file access across mounts