Skip to content

Commit 24b4fa4

Browse files
committed
Add appjail: and rebuild docs
1 parent 262cfa1 commit 24b4fa4

2 files changed

Lines changed: 92 additions & 21 deletions

File tree

README.md

Lines changed: 89 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -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+
811
Sonarr 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
45110
podman 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.

compose.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ x-daemonless:
1010
freshports_url: "https://www.freshports.org/net-p2p/sonarr/"
1111
user: "bsd"
1212
mlock: true
13-
13+
appjail:
14+
1415
docs:
1516
env:
1617
PUID: "User ID for the application process"
@@ -47,4 +48,4 @@ services:
4748
- /path/to/downloads:/downloads
4849

4950
ports:
50-
- 8989:8989
51+
- 8989:8989

0 commit comments

Comments
 (0)