servarr-stack – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 <!-- DO NOT EDIT THIS FILE MANUALLY -->
2 <!-- Please read https://github.com/linuxserver/docker-readarr/blob/develop/.github/CONTRIBUTING.md -->
3 [![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)](https://linuxserver.io)
4  
5 [![Blog](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Blog)](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!")
6 [![Discord](https://img.shields.io/discord/354974912613449730.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=Discord&logo=discord)](https://linuxserver.io/discord "realtime support / chat with the community and the team.")
7 [![Discourse](https://img.shields.io/discourse/https/discourse.linuxserver.io/topics.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=discourse)](https://discourse.linuxserver.io "post on our community forum.")
8 [![Fleet](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Fleet)](https://fleet.linuxserver.io "an online web interface which displays all of our maintained images.")
9 [![GitHub](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitHub&logo=github)](https://github.com/linuxserver "view the source for all of our repositories.")
10 [![Open Collective](https://img.shields.io/opencollective/all/linuxserver.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=Supporters&logo=open%20collective)](https://opencollective.com/linuxserver "please consider helping us by either donating or contributing to our budget")
11  
12 The [LinuxServer.io](https://linuxserver.io) team brings you another container release featuring:
13  
14 * regular and timely application updates
15 * easy user mappings (PGID, PUID)
16 * custom base image with s6 overlay
17 * weekly base OS updates with common layers across the entire LinuxServer.io ecosystem to minimise space usage, down time and bandwidth
18 * regular security updates
19  
20 Find us at:
21  
22 * [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more!
23 * [Discord](https://linuxserver.io/discord) - realtime support / chat with the community and the team.
24 * [Discourse](https://discourse.linuxserver.io) - post on our community forum.
25 * [Fleet](https://fleet.linuxserver.io) - an online web interface which displays all of our maintained images.
26 * [GitHub](https://github.com/linuxserver) - view the source for all of our repositories.
27 * [Open Collective](https://opencollective.com/linuxserver) - please consider helping us by either donating or contributing to our budget
28  
29 # [linuxserver/readarr](https://github.com/linuxserver/docker-readarr)
30  
31 [![Scarf.io pulls](https://scarf.sh/installs-badge/linuxserver-ci/linuxserver%2Freadarr?color=94398d&label-color=555555&logo-color=ffffff&style=for-the-badge&package-type=docker)](https://scarf.sh)
32 [![GitHub Stars](https://img.shields.io/github/stars/linuxserver/docker-readarr.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-readarr)
33 [![GitHub Release](https://img.shields.io/github/release/linuxserver/docker-readarr.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github&include_prereleases)](https://github.com/linuxserver/docker-readarr/releases)
34 [![GitHub Package Repository](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitHub%20Package&logo=github)](https://github.com/linuxserver/docker-readarr/packages)
35 [![GitLab Container Registry](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitLab%20Registry&logo=gitlab)](https://gitlab.com/linuxserver.io/docker-readarr/container_registry)
36 [![Quay.io](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Quay.io)](https://quay.io/repository/linuxserver.io/readarr)
37 [![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/readarr.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=pulls&logo=docker)](https://hub.docker.com/r/linuxserver/readarr)
38 [![Docker Stars](https://img.shields.io/docker/stars/linuxserver/readarr.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=stars&logo=docker)](https://hub.docker.com/r/linuxserver/readarr)
39 [![Jenkins Build](https://img.shields.io/jenkins/build?labelColor=555555&logoColor=ffffff&style=for-the-badge&jobUrl=https%3A%2F%2Fci.linuxserver.io%2Fjob%2FDocker-Pipeline-Builders%2Fjob%2Fdocker-readarr%2Fjob%2Fdevelop%2F&logo=jenkins)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-readarr/job/develop/)
40 [![LSIO CI](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=CI&query=CI&url=https%3A%2F%2Fci-tests.linuxserver.io%2Flinuxserver%2Freadarr%2Fdevelop%2Fci-status.yml)](https://ci-tests.linuxserver.io/linuxserver/readarr/develop/index.html)
41  
42 [Readarr](https://github.com/Readarr/Readarr) - Book Manager and Automation (Sonarr for Ebooks)
43  
44 [![readarr](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/readarr-logo.png)](https://github.com/Readarr/Readarr)
45  
46 ## Supported Architectures
47  
48 We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://distribution.github.io/distribution/spec/manifest-v2-2/#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
49  
50 Simply pulling `lscr.io/linuxserver/readarr:develop` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
51  
52 The architectures supported by this image are:
53  
54 | Architecture | Available | Tag |
55 | :----: | :----: | ---- |
56 | x86-64 | ✅ | amd64-\<version tag\> |
57 | arm64 | ✅ | arm64v8-\<version tag\> |
58 | armhf | ❌ | |
59  
60 ## Version Tags
61  
62 This image provides various versions that are available via tags. Please read the descriptions carefully and exercise caution when using unstable or development tags.
63  
64 | Tag | Available | Description |
65 | :----: | :----: |--- |
66 | latest | ❌ | |
67 | develop | ✅ | Readarr releases from their develop branch |
68 | nightly | ✅ | Readarr releases from their nightly branch |
69  
70 ## Application Setup
71  
72 Access the webui at `<your-ip>:8787`, for more information check out [Readarr](https://github.com/Readarr/Readarr).
73  
74 ### Media folders
75  
76 We have set `/books` and `/downloads` as optional paths, this is because it is the easiest way to get started. While easy to use, it has some drawbacks. Mainly losing the ability to hardlink (TL;DR a way for a file to exist in multiple places on the same file system while only consuming one file worth of space), or atomic move (TL;DR instant file moves, rather than copy+delete) files while processing content.
77  
78 Use the optional paths if you don't understand, or don't want hardlinks/atomic moves.
79  
80 >[!TIP]
81 >The folks over at servarr.com wrote a good [write-up](https://wiki.servarr.com/docker-guide#consistent-and-well-planned-paths) on how to get started with this.
82  
83 ## Read-Only Operation
84  
85 This image can be run with a read-only container filesystem. For details please [read the docs](https://docs.linuxserver.io/misc/read-only/).
86  
87 ## Non-Root Operation
88  
89 This image can be run with a non-root user. For details please [read the docs](https://docs.linuxserver.io/misc/non-root/).
90  
91 ## Usage
92  
93 To help you get started creating a container from this image you can either use docker-compose or the docker cli.
94  
95 >[!NOTE]
96 >Unless a parameter is flaged as 'optional', it is *mandatory* and a value must be provided.
97  
98 ### docker-compose (recommended, [click here for more info](https://docs.linuxserver.io/general/docker-compose))
99  
100 ```yaml
101 ---
102 services:
103 readarr:
104 image: lscr.io/linuxserver/readarr:develop
105 container_name: readarr
106 environment:
107 - PUID=1000
108 - PGID=1000
109 - TZ=Etc/UTC
110 volumes:
111 - /path/to/readarr/data:/config
112 - /path/to/books:/books #optional
113 - /path/to/download-client-downloads:/downloads #optional
114 ports:
115 - 8787:8787
116 restart: unless-stopped
117 ```
118  
119 ### docker cli ([click here for more info](https://docs.docker.com/engine/reference/commandline/cli/))
120  
121 ```bash
122 docker run -d \
123 --name=readarr \
124 -e PUID=1000 \
125 -e PGID=1000 \
126 -e TZ=Etc/UTC \
127 -p 8787:8787 \
128 -v /path/to/readarr/data:/config \
129 -v /path/to/books:/books `#optional` \
130 -v /path/to/download-client-downloads:/downloads `#optional` \
131 --restart unless-stopped \
132 lscr.io/linuxserver/readarr:develop
133 ```
134  
135 ## Parameters
136  
137 Containers are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate `<external>:<internal>` respectively. For example, `-p 8080:80` would expose port `80` from inside the container to be accessible from the host's IP on port `8080` outside the container.
138  
139 | Parameter | Function |
140 | :----: | --- |
141 | `-p 8787:8787` | The port for the Readarr web UI |
142 | `-e PUID=1000` | for UserID - see below for explanation |
143 | `-e PGID=1000` | for GroupID - see below for explanation |
144 | `-e TZ=Etc/UTC` | specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List). |
145 | `-v /config` | Database and Readarr configs |
146 | `-v /books` | Location of Book library on disk (See note in Application setup) |
147 | `-v /downloads` | Location of download managers output directory (See note in Application setup) |
148 | `--read-only=true` | Run container with a read-only filesystem. Please [read the docs](https://docs.linuxserver.io/misc/read-only/). |
149 | `--user=1000:1000` | Run container with a non-root user. Please [read the docs](https://docs.linuxserver.io/misc/non-root/). |
150  
151 ## Environment variables from files (Docker secrets)
152  
153 You can set any environment variable from a file by using a special prepend `FILE__`.
154  
155 As an example:
156  
157 ```bash
158 -e FILE__MYVAR=/run/secrets/mysecretvariable
159 ```
160  
161 Will set the environment variable `MYVAR` based on the contents of the `/run/secrets/mysecretvariable` file.
162  
163 ## Umask for running applications
164  
165 For all of our images we provide the ability to override the default umask settings for services started within the containers using the optional `-e UMASK=022` setting.
166 Keep in mind umask is not chmod it subtracts from permissions based on it's value it does not add. Please read up [here](https://en.wikipedia.org/wiki/Umask) before asking for support.
167  
168 ## User / Group Identifiers
169  
170 When using volumes (`-v` flags), permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user `PUID` and group `PGID`.
171  
172 Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic.
173  
174 In this instance `PUID=1000` and `PGID=1000`, to find yours use `id your_user` as below:
175  
176 ```bash
177 id your_user
178 ```
179  
180 Example output:
181  
182 ```text
183 uid=1000(your_user) gid=1000(your_user) groups=1000(your_user)
184 ```
185  
186 ## Docker Mods
187  
188 [![Docker Mods](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=readarr&query=%24.mods%5B%27readarr%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml)](https://mods.linuxserver.io/?mod=readarr "view available mods for this container.") [![Docker Universal Mods](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=universal&query=%24.mods%5B%27universal%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml)](https://mods.linuxserver.io/?mod=universal "view available universal mods.")
189  
190 We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to enable additional functionality within the containers. The list of Mods available for this image (if any) as well as universal mods that can be applied to any one of our images can be accessed via the dynamic badges above.
191  
192 ## Support Info
193  
194 * Shell access whilst the container is running:
195  
196 ```bash
197 docker exec -it readarr /bin/bash
198 ```
199  
200 * To monitor the logs of the container in realtime:
201  
202 ```bash
203 docker logs -f readarr
204 ```
205  
206 * Container version number:
207  
208 ```bash
209 docker inspect -f '{{ index .Config.Labels "build_version" }}' readarr
210 ```
211  
212 * Image version number:
213  
214 ```bash
215 docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/readarr:develop
216 ```
217  
218 ## Updating Info
219  
220 Most of our images are static, versioned, and require an image update and container recreation to update the app inside. With some exceptions (noted in the relevant readme.md), we do not recommend or support updating apps inside the container. Please consult the [Application Setup](#application-setup) section above to see if it is recommended for the image.
221  
222 Below are the instructions for updating containers:
223  
224 ### Via Docker Compose
225  
226 * Update images:
227 * All images:
228  
229 ```bash
230 docker-compose pull
231 ```
232  
233 * Single image:
234  
235 ```bash
236 docker-compose pull readarr
237 ```
238  
239 * Update containers:
240 * All containers:
241  
242 ```bash
243 docker-compose up -d
244 ```
245  
246 * Single container:
247  
248 ```bash
249 docker-compose up -d readarr
250 ```
251  
252 * You can also remove the old dangling images:
253  
254 ```bash
255 docker image prune
256 ```
257  
258 ### Via Docker Run
259  
260 * Update the image:
261  
262 ```bash
263 docker pull lscr.io/linuxserver/readarr:develop
264 ```
265  
266 * Stop the running container:
267  
268 ```bash
269 docker stop readarr
270 ```
271  
272 * Delete the container:
273  
274 ```bash
275 docker rm readarr
276 ```
277  
278 * Recreate a new container with the same docker run parameters as instructed above (if mapped correctly to a host folder, your `/config` folder and settings will be preserved)
279 * You can also remove the old dangling images:
280  
281 ```bash
282 docker image prune
283 ```
284  
285 ### Image Update Notifications - Diun (Docker Image Update Notifier)
286  
287 >[!TIP]
288 >We recommend [Diun](https://crazymax.dev/diun/) for update notifications. Other tools that automatically update containers unattended are not recommended or supported.
289  
290 ## Building locally
291  
292 If you want to make local modifications to these images for development purposes or just to customize the logic:
293  
294 ```bash
295 git clone https://github.com/linuxserver/docker-readarr.git
296 cd docker-readarr
297 docker build \
298 --no-cache \
299 --pull \
300 -t lscr.io/linuxserver/readarr:develop .
301 ```
302  
303 The ARM variants can be built on x86_64 hardware and vice versa using `lscr.io/linuxserver/qemu-static`
304  
305 ```bash
306 docker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
307 ```
308  
309 Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`.
310  
311 ## Versions
312  
313 * **20.12.24:** - Rebase to Alpine 3.21.
314 * **25.05.24:** - Rebase to Alpine 3.20.
315 * **20.03.24:** - Rebase to Alpine 3.19.
316 * **06.06.23:** - Rebase develop to Alpine 3.18.
317 * **19.12.22:** - Rebase develop branch to Alpine 3.17, migrate to s6v3.
318 * **21.02.22:** - Add develop branch.
319 * **04.02.22:** - Rebase nightly branch to Alpine.
320 * **21.01.22:** - Remove chromaprint as it's no longer a required dependency.
321 * **01.01.22:** - Add chromaprint for audio fingerprinting.
322 * **30.12.21:** - Add nightly-alpine branch.
323 * **28.07.21:** - Initial Release.