HomeLabDocs/radarr_complete.md

124 lines
3.9 KiB
Markdown

# 🎬 Radarr - Container 105
## Overview
Radarr automates the discovery, downloading, renaming, and management of movie files. In this homelab, Radarr runs **natively inside an unprivileged LXC container** on Proxmox (not Docker), and integrates with qBittorrent and Jackett. Plex is notified via webhook after successful imports.
## Service Details
- **Container ID**: 105
- **Hostname**: radarr
- **IP Address**: 192.168.1.43
- **Port**: 7878 (Web UI)
- **Access**: LAN-only via Tailscale (not publicly exposed)
- **Authentication**: Enabled (`Forms` login)
- **Username / Password**: `admin` / `pcideas` (stored in Bitwarden under `homelab > Radarr`)
## Hosting & Platform
- **Platform**: Native install in Debian-based LXC
- **Privileged**: No
- **Features**: `keyctl=1`, `nesting=1`
- **Service**: systemd-managed (`radarr.service`)
- **Binary Path**: `/opt/Radarr/Radarr`
- **Config Directory**: `/var/lib/radarr`
- **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` | Movie media root folder |
| `/mnt/smb_shares/h_media` | `/mnt/h_media` | Movie media root folder |
| `/mnt/smb_shares/i_media` | `/mnt/i_media` | Movie media root folder |
| `/mnt/smb_shares/j_media` | `/mnt/j_media` | Movie media root folder |
| `/mnt/smb_shares/k_media` | `/mnt/k_media` | Movie media root folder |
| `/mnt/smb_shares/f_media` | `/mnt/f_media` | Movie 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` (Radarr)
- **Share Limit Action**: `Pause` (ensures import + cleanup works)
## Import Behavior
- **Completed Download Handling**: ✅ Enabled
- **Import Method**: Move + Rename
- **Category Use**: Optional (`movies`) in qBittorrent
- **Hardlinking**: ❌ Disabled
- Radarr auto-selects the correct root folder based on configured libraries
## Config Files
- **Primary Config**: `/var/lib/radarr/config.xml`
- Stores:
- Web UI port (7878)
- Bind address (`*`)
- SSL settings (disabled)
- Authentication method (Forms)
- API key
- **Web UI Behavior**:
- `LaunchBrowser`: false
- `UrlBase`: empty
- `Branch`: master
## Backup & Recovery
- **Backup Target**: `/var/lib/radarr`
- **Strategy**: Scheduled LXC container snapshots + optional tarball or rsync
- **Manual Backup Command**:
```bash
tar -czvf /root/radarr-config-backup-$(date +%F).tar.gz /var/lib/radarr
```
- **Restore**: Extract and restart the Radarr service
## Logs & Monitoring
- **Log Path**: `/var/lib/radarr/logs/`
- **Monitoring**: Not currently configured
## Updates
To update manually:
```bash
systemctl stop radarr
curl -Lo /tmp/radarr.tar.gz https://services.radarr.video/v1/download/main/latest?os=linux&arch=x64
tar -xvzf /tmp/radarr.tar.gz -C /tmp/radarr-update
cp -r /tmp/radarr-update/* /opt/Radarr/
chown -R root:root /opt/Radarr
systemctl start radarr
```
## Systemd Service File
`/etc/systemd/system/radarr.service`
```ini
[Unit]
Description=Radarr Daemon
After=syslog.target network.target
[Service]
Type=simple
ExecStart=/opt/Radarr/Radarr -nobrowser -data=/var/lib/radarr/
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/radarr`
- Radarr runs as `root` which simplifies file access across mounts