@@ -5,16 +5,30 @@ Source: dbuild templates
55
66# Sonarr
77
8+ [ ![ Build Status] ( https://img.shields.io/github/actions/workflow/status/daemonless/sonarr/build.yaml?style=flat-square&label=Build&color=green )] ( https://github.com/daemonless/sonarr/actions )
9+ [ ![ Last Commit] ( https://img.shields.io/github/last-commit/daemonless/sonarr?style=flat-square&label=Last+Commit&color=blue )] ( https://github.com/daemonless/sonarr/commits )
10+
811Sonarr TV series management on FreeBSD.
912
1013| | |
1114| ---| ---|
1215| ** Port** | 8989 |
1316| ** Registry** | ` ghcr.io/daemonless/sonarr ` |
14- | ** Docs** | [ daemonless.io/images/sonarr] ( https://daemonless.io/images/sonarr/ ) |
1517| ** Source** | [ https://github.com/Sonarr/Sonarr ] ( https://github.com/Sonarr/Sonarr ) |
1618| ** Website** | [ https://sonarr.tv/ ] ( https://sonarr.tv/ ) |
1719
20+ ## Version Tags
21+
22+ | Tag | Description | Best For |
23+ | :--- | :--- | :--- |
24+ | ` latest ` | ** Upstream Binary** . Built from official release. | Most users. Matches Linux Docker behavior. |
25+ | ` pkg ` | ** FreeBSD Quarterly** . Uses stable, tested packages. | Production stability. |
26+ | ` pkg-latest ` | ** FreeBSD Latest** . Rolling package updates. | Newest FreeBSD features. |
27+
28+ ## Prerequisites
29+
30+ Before deploying, ensure your host environment is ready. See the [ Quick Start Guide] ( https://daemonless.io/guides/quick-start ) for host setup instructions.
31+
1832## Deployment
1933
2034### Podman Compose
@@ -29,31 +43,81 @@ services:
2943 - PGID=1000
3044 - TZ=UTC
3145 volumes :
32- - /path/to/containers/sonarr:/config
33- - /path/to/tv:/tv # optional
34- - /path/to/downloads:/downloads # optional
46+ - " /path/to/containers/sonarr:/config"
47+ - " /path/to/tv:/tv" # optional
48+ - " /path/to/downloads:/downloads" # optional
3549 ports :
3650 - 8989:8989
3751 annotations :
3852 org.freebsd.jail.allow.mlock : " true"
3953 restart : unless-stopped
4054` ` `
4155
56+ ### AppJail Director
57+
58+ **.env**:
59+
60+ ` ` `
61+ DIRECTOR_PROJECT=sonarr
62+ PUID=1000
63+ PGID=1000
64+ TZ=UTC
65+ ```
66+
67+ ** appjail-director.yml** :
68+
69+ ``` yaml
70+ options :
71+ - virtualnet : ' :<random> default'
72+ - nat :
73+ services :
74+ sonarr :
75+ name : sonarr
76+ options :
77+ - container : ' boot args:--pull'
78+ oci :
79+ user : root
80+ environment :
81+ - PUID : !ENV '${PUID}'
82+ - PGID : !ENV '${PGID}'
83+ - TZ : !ENV '${TZ}'
84+ volumes :
85+ - sonarr : /config
86+ - tv : /tv
87+ - downloads : /downloads
88+ volumes :
89+ sonarr :
90+ device : ' /path/to/containers/sonarr'
91+ tv :
92+ device : ' tv'
93+ downloads :
94+ device : ' downloads'
95+ ` ` `
96+
97+ **Makejail**:
98+
99+ ` ` `
100+ ARG tag=latest
101+
102+ OPTION overwrite=force
103+ OPTION from=ghcr.io/daemonless/sonarr:${tag}
104+ OPTION allow.mlock
105+ ```
106+
42107### Podman CLI
43108
44109``` bash
45110podman run -d --name sonarr \
46111 -p 8989:8989 \
47112 --annotation ' org.freebsd.jail.allow.mlock=true' \
48- -e PUID=@PUID@ \
49- -e PGID=@PGID@ \
50- -e TZ=@TZ@ \
113+ -e PUID=1000 \
114+ -e PGID=1000 \
115+ -e TZ=UTC \
51116 -v /path/to/containers/sonarr:/config \
52- -v /path/to/tv:/tv \ # optional
53- -v /path/to/downloads:/downloads \ # optional
117+ -v /path/to/tv:/tv # optional \
118+ -v /path/to/downloads:/downloads # optional \
54119 ghcr.io/daemonless/sonarr:latest
55120```
56- Access at: ` http://localhost:8989 `
57121
58122### Ansible
59123
@@ -65,9 +129,9 @@ Access at: `http://localhost:8989`
65129 state : started
66130 restart_policy : always
67131 env :
68- PUID : " @PUID@ "
69- PGID : " @PGID@ "
70- TZ : " @TZ@ "
132+ PUID : " 1000 "
133+ PGID : " 1000 "
134+ TZ : " UTC "
71135 ports :
72136 - " 8989:8989"
73137 volumes :
@@ -78,30 +142,36 @@ Access at: `http://localhost:8989`
78142 org.freebsd.jail.allow.mlock : " true"
79143` ` `
80144
81- ## Configuration
145+ Access at: ` http://localhost:8989`
146+
147+ # # Parameters
148+
82149# ## Environment Variables
83150
84151| Variable | Default | Description |
85152|----------|---------|-------------|
86153| `PUID` | `1000` | User ID for the application process |
87154| `PGID` | `1000` | Group ID for the application process |
88155| `TZ` | `UTC` | Timezone for the container |
156+
89157# ## Volumes
90158
91159| Path | Description |
92160|------|-------------|
93161| `/config` | Configuration directory |
94162| `/tv` | TV Series library (Optional) |
95163| `/downloads` | Download directory (Optional) |
164+
96165# ## Ports
97166
98167| Port | Protocol | Description |
99168|------|----------|-------------|
100169| `8989` | TCP | Web UI |
101170
102- # # Notes
171+ **Architectures:** amd64
172+ **User:** `bsd` (UID/GID via PUID/PGID, defaults to 1000:1000)
173+ **Base:** FreeBSD 15.0
174+
175+ ---
103176
104- - **Architectures:** amd64
105- - **User:** `bsd` (UID/GID set via PUID/PGID)
106- - **Base:** Built on `ghcr.io/daemonless/base` (FreeBSD)
107- - **.NET App:** Requires `--annotation 'org.freebsd.jail.allow.mlock=true'` and a [patched ocijail](https://daemonless.io/guides/ocijail-patch).
177+ Need help? Join our [Discord](https://discord.gg/Kb9tkhecZT) community.
0 commit comments