Media Arr Services (CT 300)¶
LXC: media arr
| Service | Article | Port |
|---|---|---|
| Sonarr | sonarr | 8989 |
| Radarr | radarr | 7878 |
| Prowlarr | prowlarr | 9696 |
| Bazarr | bazarr | 6767 |
| Seerr | seerr | 5055 |
| Dispatcharr | dispatcharr | 9191 |
| Recyclarr | recyclarr | - |
| Unpackerr | unpackerr | - |
| FlareSolverr | flaresolverr | 8191 (internal) |
Secrets / .env¶
All service API keys and credentials are stored in stacks/media-arr/.env (not committed). An .env.example documents the required keys without values.
Updating Without Resizing rootfs¶
CT 300's rootfs is 16GB. Docker image updates consume temp space. To update without risking a full disk:
- Pull a single image at a time:
- Stop the old container and start with the new image:
- Prune dangling images after each service:
Full docker compose pull + up -d can fill rootfs if multiple large images are pulled simultaneously.
Hardlinks¶
CT 300 mounts $DATA_ROOT/media → /media and CT 302 mounts $DATA_ROOT/torrents → /torrents and $DATA_ROOT/usenet → /usenet. Because these all come from the same host filesystem ($DATA_ROOT), hardlinks between download categories and media libraries work - one file, two directory entries, zero extra disk space.
Sonarr and Radarr must be configured to use hardlinks (not copy) for imports. Verify with: Settings → Media Management → Use Hardlinks Instead of Copy.