Sonarr
Requires ocijail with annotation support (≥ 0.6.0). This image needs the jail permission
allow.mlock, applied via OCI annotations. FreeBSD quarterly ships ocijail 0.4.0, which has no annotation support — the container starts but the permission is silently dropped, so the app can crash or misbehave. Point your pkg repos at thelatestbranch (ocijail ≥ 0.6.0) and run with the annotation flag shown below. See the ocijail guide on daemonless.io.

| Port | 8989 |
| Registry | ghcr.io/daemonless/sonarr |
| Source | Sonarr/Sonarr |
| Website | sonarr.tv |
Version tags#
| Tag | Description | Best for |
|---|---|---|
latest |
Upstream binary, built from the official release | Most users — recommended |
develop / nightly |
Sonarr's pre-release channel (Sonarr has no separate nightly branch, so both tags point at the same build). One-way DB migrations — back up /config before switching back to release. |
Alternative build |
pkg |
FreeBSD Quarterly, stable tested packages | Production stability |
pkg-latest |
FreeBSD Latest, rolling package updates | Staying current |
Deployment#
services:
sonarr:
image: "ghcr.io/daemonless/sonarr:latest"
container_name: sonarr
environment:
- PUID=1000 # User ID for the application process
- PGID=1000 # Group ID for the application process
- TZ=UTC # Timezone for the container
volumes:
- "/path/to/containers/sonarr:/config"
- "/path/to/tv:/tv" # optional
- "/path/to/downloads:/downloads" # optional
ports:
- "8989:8989"
annotations:
org.freebsd.jail.allow.mlock: "true"
restart: unless-stoppedAccess at: http://localhost:8989
Environment variables#
| Variable | Default | Description |
|---|---|---|
PUID |
1000 |
User ID for the application process |
PGID |
1000 |
Group ID for the application process |
TZ |
UTC |
Timezone for the container |
Volumes#
| Path | Description |
|---|---|
/config |
Configuration directory |
/tv |
TV series library (optional) |
/downloads |
Download directory (optional) |
Ports#
| Port | Protocol | Description |
|---|---|---|
8989 |
TCP | Web UI |
Implementation details#
- Architectures: amd64
- User:
bsd(UID/GID set via PUID/PGID). Defaults to1000:1000. - Base: Built on
ghcr.io/daemonless/base(FreeBSD 15.1). - mlock: Requires
--annotation 'org.freebsd.jail.allow.mlock=true'(ocijail 0.5.0+).
Also runs Radarr, Lidarr, and Prowlarr
The same allow.mlock pattern covers every .NET-based *arr app in the fleet.