Giter Club home page Giter Club logo

docker-readarr's Introduction

linuxserver.io

Blog Discord Discourse Fleet GitHub Open Collective

The LinuxServer.io team brings you another container release featuring:

  • regular and timely application updates
  • easy user mappings (PGID, PUID)
  • custom base image with s6 overlay
  • weekly base OS updates with common layers across the entire LinuxServer.io ecosystem to minimise space usage, down time and bandwidth
  • regular security updates

Find us at:

  • Blog - all the things you can do with our containers including How-To guides, opinions and much more!
  • Discord - realtime support / chat with the community and the team.
  • Discourse - post on our community forum.
  • Fleet - an online web interface which displays all of our maintained images.
  • GitHub - view the source for all of our repositories.
  • Open Collective - please consider helping us by either donating or contributing to our budget

Scarf.io pulls GitHub Stars GitHub Release GitHub Package Repository GitLab Container Registry Quay.io Docker Pulls Docker Stars Jenkins Build LSIO CI

Readarr - Book Manager and Automation (Sonarr for Ebooks)

readarr

Supported Architectures

We utilise the docker manifest for multi-platform awareness. More information is available from docker here and our announcement here.

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.

The architectures supported by this image are:

Architecture Available Tag
x86-64 amd64-<version tag>
arm64 arm64v8-<version tag>
armhf arm32v7-<version tag>

Version Tags

This image provides various versions that are available via tags. Please read the descriptions carefully and exercise caution when using unstable or development tags.

Tag Available Description
latest
develop Readarr releases from their develop branch
nightly Readarr releases from their nightly branch

Application Setup

Access the webui at <your-ip>:8787, for more information check out Readarr.

Media folders

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.

Use the optional paths if you don't understand, or don't want hardlinks/atomic moves.

The folks over at servarr.com wrote a good write-up on how to get started with this.

Usage

Here are some example snippets to help you get started creating a container.

docker-compose (recommended, click here for more info)

---
services:
  readarr:
    image: lscr.io/linuxserver/readarr:develop
    container_name: readarr
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
    volumes:
      - /path/to/data:/config
      - /path/to/books:/books #optional
      - /path/to/downloadclient-downloads:/downloads #optional
    ports:
      - 8787:8787
    restart: unless-stopped
docker run -d \
  --name=readarr \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Europe/London \
  -p 8787:8787 \
  -v /path/to/data:/config \
  -v /path/to/books:/books `#optional` \
  -v /path/to/downloadclient-downloads:/downloads `#optional` \
  --restart unless-stopped \
  lscr.io/linuxserver/readarr:develop

Parameters

Container images 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.

Parameter Function
-p 8787 The port for the Readarr webinterface
-e PUID=1000 for UserID - see below for explanation
-e PGID=1000 for GroupID - see below for explanation
-e TZ=Europe/London Specify a timezone to use EG Europe/London, this is required for Readarr
-v /config Database and Readarr configs
-v /books Location of Book library on disk (See note in Application setup)
-v /downloads Location of download managers output directory (See note in Application setup)

Environment variables from files (Docker secrets)

You can set any environment variable from a file by using a special prepend FILE__.

As an example:

-e FILE__PASSWORD=/run/secrets/mysecretpassword

Will set the environment variable PASSWORD based on the contents of the /run/secrets/mysecretpassword file.

Umask for running applications

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. Keep in mind umask is not chmod it subtracts from permissions based on it's value it does not add. Please read up here before asking for support.

User / Group Identifiers

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.

Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic.

In this instance PUID=1000 and PGID=1000, to find yours use id user as below:

  $ id username
    uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)

Docker Mods

Docker Mods Docker Universal Mods

We publish various 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.

Support Info

  • Shell access whilst the container is running: docker exec -it readarr /bin/bash
  • To monitor the logs of the container in realtime: docker logs -f readarr
  • container version number
    • docker inspect -f '{{ index .Config.Labels "build_version" }}' readarr
  • image version number
    • docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/readarr

Updating Info

Most of our images are static, versioned, and require an image update and container recreation to update the app inside. With some exceptions (ie. nextcloud, plex), we do not recommend or support updating apps inside the container. Please consult the Application Setup section above to see if it is recommended for the image.

Below are the instructions for updating containers:

Via Docker Compose

  • Update all images: docker-compose pull
    • or update a single image: docker-compose pull readarr
  • Let compose update all containers as necessary: docker-compose up -d
    • or update a single container: docker-compose up -d readarr
  • You can also remove the old dangling images: docker image prune

Via Docker Run

  • Update the image: docker pull lscr.io/linuxserver/readarr
  • Stop the running container: docker stop readarr
  • Delete the container: docker rm readarr
  • 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)
  • You can also remove the old dangling images: docker image prune

Image Update Notifications - Diun (Docker Image Update Notifier)

  • We recommend Diun for update notifications. Other tools that automatically update containers unattended are not recommended or supported.

Building locally

If you want to make local modifications to these images for development purposes or just to customize the logic:

git clone https://github.com/linuxserver/docker-readarr.git
cd docker-readarr
docker build \
  --no-cache \
  --pull \
  -t lscr.io/linuxserver/readarr:latest .

The ARM variants can be built on x86_64 hardware using multiarch/qemu-user-static

docker run --rm --privileged multiarch/qemu-user-static:register --reset

Once registered you can define the dockerfile to use with -f Dockerfile.aarch64.

Versions

  • 20.03.24: - Rebase to Alpine 3.19.
  • 06.06.23: - Rebase to Alpine 3.18.
  • 22.02.22: - Add develop branch.
  • 21.01.22: - Rebase nightly branch to Alpine & deprecate nightly-alpine branch.
  • 21.01.22: - Remove chromaprint as it's no longer a required dependency.
  • 01.01.22: - Add chromaprint for audio fingerprinting.
  • 30.12.21: - Add nightly-alpine branch.
  • 28.07.21: - Initial Release.

docker-readarr's People

Contributors

aptalca avatar drizuid avatar roxedus avatar thespad avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-readarr's Issues

Readarr webserver start on 8989 and not 8787 as expected (same as Sonarr)

linuxserver.io


Expected Behavior

Webserver on 8787

Current Behavior

Webserver on 8989

Steps to Reproduce

Launch docker with the provided docker compose file

Environment

OS: UBUNTU 22
CPU architecture: x86_64
How docker service was installed: Officially

Command used to create docker container (run/create/compose/screenshot)

Docker compose up

Docker logs

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service 00-legacy: starting
s6-rc: info: service 00-legacy successfully started
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
cont-init: info: running /etc/cont-init.d/01-envfile
cont-init: info: /etc/cont-init.d/01-envfile exited 0
cont-init: info: running /etc/cont-init.d/01-migrations
[migrations] started
[migrations] no migrations found
cont-init: info: /etc/cont-init.d/01-migrations exited 0
cont-init: info: running /etc/cont-init.d/02-tamper-check
cont-init: info: /etc/cont-init.d/02-tamper-check exited 0
cont-init: info: running /etc/cont-init.d/10-adduser

-------------------------------------
          _         ()
         | |  ___   _    __
         | | / __| | |  /  \
         | | \__ \ | | | () |
         |_| |___/ |_|  \__/


Brought to you by linuxserver.io
-------------------------------------

To support the app dev(s) visit:
Readarr: https://opencollective.com/readarr

To support LSIO projects visit:
https://www.linuxserver.io/donate/
-------------------------------------
GID/UID
-------------------------------------

User uid:    0
User gid:    0
-------------------------------------

cont-init: info: /etc/cont-init.d/10-adduser exited 0
cont-init: info: running /etc/cont-init.d/30-config
cont-init: info: /etc/cont-init.d/30-config exited 0
cont-init: info: running /etc/cont-init.d/90-custom-folders
cont-init: info: /etc/cont-init.d/90-custom-folders exited 0
cont-init: info: running /etc/cont-init.d/99-custom-files
[custom-init] no custom services found, skipping...
[custom-init] no custom files found, skipping...
cont-init: info: /etc/cont-init.d/99-custom-files exited 0
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service init-mods: starting
s6-rc: info: service init-mods successfully started
s6-rc: info: service init-mods-package-install: starting
s6-rc: info: service init-mods-package-install successfully started
s6-rc: info: service init-mods-end: starting
s6-rc: info: service init-mods-end successfully started
s6-rc: info: service init-services: starting
s6-rc: info: service init-services successfully started
s6-rc: info: service legacy-services: starting
services-up: info: copying legacy longrun readarr (no readiness notification)
s6-rc: info: service legacy-services successfully started
s6-rc: info: service 99-ci-service-check: starting
[ls.io-init] done.
s6-rc: info: service 99-ci-service-check successfully started
[Info] Bootstrap: Starting Readarr - /app/readarr/bin/Readarr.dll - Version 0.1.1.1320
[Debug] Bootstrap: Getting windows service status
[Debug] Bootstrap: Console selected
[Info] AppFolderInfo: Data directory is being overridden to [/config]
[Trace] EventAggregator: Publishing ApplicationStartingEvent
[Info] AppFolderInfo: Data directory is being overridden to [/config]
[Info] MigrationController: *** Migrating data source=/config/readarr.db;cache size=-10000;datetimekind=Utc;journal mode=Wal;pooling=True;version=3 ***
[Debug] MigrationController: Took: 00:00:00.2082469
[Info] MigrationController: *** Migrating data source=/config/cache.db;cache size=-10000;datetimekind=Utc;journal mode=Wal;pooling=True;version=3 ***
[Debug] MigrationController: Took: 00:00:00.0053885
[Trace] EventAggregator: ApplicationStartingEvent -> InstallUpdateService
[Trace] EventAggregator: ApplicationStartingEvent <- InstallUpdateService
[Debug] Microsoft.Extensions.Hosting.Internal.Host: Hosting starting
[Info] MigrationController: *** Migrating data source=/config/logs.db;cache size=-10000;datetimekind=Utc;journal mode=Wal;pooling=True;version=3 ***
[Info] Microsoft.Hosting.Lifetime: Now listening on: http://[::]:8989
[Info] Microsoft.Hosting.Lifetime: Application started. Press Ctrl+C to shut down.
[Info] Microsoft.Hosting.Lifetime: Hosting environment: Production
[Info] Microsoft.Hosting.Lifetime: Content root path: /run/s6/legacy-services/readarr

Support the integration of calibre with `DOCKER_MODS`


name: Feature request
about: Support the integration of calibre with DOCKER_MODS


linuxserver.io


Desired Behavior

Like the lazylibrarian container, adding calibre through DOCKER_MODS should be supported

Current Behavior

The use of DOCKER_MODS fails because lazylibrarian and calibre-web containers are Ubuntu based, while this one is Alpine based.

Alternatives Considered

I think we have 2 basic options here...

  1. Fix up the scripts in the mod at https://github.com/linuxserver/docker-lazylibrarian#parameters to work for Alpine in addition to Ubuntu (some hints can be found in https://github.com/lmorel3/calibre-alpine/blob/master/Dockerfile) - should be pretty easy
  2. Change the base container here to baseimage-ubuntu:focal like https://github.com/linuxserver/docker-lazylibrarian/blob/master/Dockerfile#L1

Adding new Author/Book: "BookInfoProxy: Error mapping search results"

linuxserver.io


Expected Behavior

Given: Logged in as user will all privileges
When: I search for new content using any prefix (isbn, author) or plain search
Expected: Valid search info returns entries and data is populated in results list

Current Behavior

Actual: "Could not find any results" in UI, Many errors in logs

Steps to Reproduce

  1. Login with valid privileged user
  2. Land on home page
  3. Enter search term in searchbox
  4. Select from search suggestions Add new item: search "..."

Environment

OS: Ubuntu 20.04.5
CPU architecture: x86_64
How docker service was installed:

official docker repo

Command used to create docker container (run/create/compose/screenshot)

readarr-ebook:
image: linuxserver/readarr:nightly
container_name: readarr-ebook
restart: unless-stopped
environment:
- PUID=1000
- PGID=1000
- TZ=America/New_York
volumes:
- /plex/downloads/lit/ebook:/downloads
- /expand/media/lit/ebook:/books
- /docker/apps/media/readarr-ebook:/config
ports:
- 8787:8787
networks:
- proxy
labels:
# traefik
- "traefik.enable=true"
- "traefik.http.routers.readarr-ebook.rule=Host(REDACTED)"
- "traefik.http.routers.readarr-ebook.entrypoints=websecure"
- "traefik.http.services.readarr-ebook.loadbalancer.server.port=8787"
- "traefik.http.routers.readarr-ebook.tls.certresolver=namecheap"
## Middlewares
- "traefik.http.routers.readarr-ebook.middlewares=chain-authelia@file"

Docker logs

[Warn] BookInfoProxy: Error mapping search results

[v0.1.4.1596] System.NullReferenceException: Object reference not set to an instance of an object.

at NzbDrone.Core.MetadataSource.BookInfo.BookInfoProxy.MapBulkBook(BulkBookResource resource) in D:\a\1\s\src\NzbDrone.Core\MetadataSource\BookInfo\BookInfoProxy.cs:line 508

at NzbDrone.Core.MetadataSource.BookInfo.BookInfoProxy.MapSearchResult(List`1 ids) in D:\a\1\s\src\NzbDrone.Core\MetadataSource\BookInfo\BookInfoProxy.cs:line 491

at NzbDrone.Core.MetadataSource.BookInfo.BookInfoProxy.Search(String query, Boolean getAllEditions) in D:\a\1\s\src\NzbDrone.Core\MetadataSource\BookInfo\BookInfoProxy.cs:line 295

[Warn] BookInfoProxy: Error mapping search results

[v0.1.4.1596] System.NullReferenceException: Object reference not set to an instance of an object.

at NzbDrone.Core.MetadataSource.BookInfo.BookInfoProxy.MapBulkBook(BulkBookResource resource) in D:\a\1\s\src\NzbDrone.Core\MetadataSource\BookInfo\BookInfoProxy.cs:line 508

at NzbDrone.Core.MetadataSource.BookInfo.BookInfoProxy.MapSearchResult(List`1 ids) in D:\a\1\s\src\NzbDrone.Core\MetadataSource\BookInfo\BookInfoProxy.cs:line 491

at NzbDrone.Core.MetadataSource.BookInfo.BookInfoProxy.Search(String query, Boolean getAllEditions) in D:\a\1\s\src\NzbDrone.Core\MetadataSource\BookInfo\BookInfoProxy.cs:line 295

[Warn] BookInfoProxy: Error mapping search results

[v0.1.4.1596] System.NullReferenceException: Object reference not set to an instance of an object.

at NzbDrone.Core.MetadataSource.BookInfo.BookInfoProxy.MapBulkBook(BulkBookResource resource) in D:\a\1\s\src\NzbDrone.Core\MetadataSource\BookInfo\BookInfoProxy.cs:line 508

at NzbDrone.Core.MetadataSource.BookInfo.BookInfoProxy.MapSearchResult(List`1 ids) in D:\a\1\s\src\NzbDrone.Core\MetadataSource\BookInfo\BookInfoProxy.cs:line 491

at NzbDrone.Core.MetadataSource.BookInfo.BookInfoProxy.Search(String query, Boolean getAllEditions) in D:\a\1\s\src\NzbDrone.Core\MetadataSource\BookInfo\BookInfoProxy.cs:line 295

[Warn] BookInfoProxy: Error mapping search results

[v0.1.4.1596] System.NullReferenceException: Object reference not set to an instance of an object.

at NzbDrone.Core.MetadataSource.BookInfo.BookInfoProxy.MapBulkBook(BulkBookResource resource) in D:\a\1\s\src\NzbDrone.Core\MetadataSource\BookInfo\BookInfoProxy.cs:line 508

at NzbDrone.Core.MetadataSource.BookInfo.BookInfoProxy.MapSearchResult(List`1 ids) in D:\a\1\s\src\NzbDrone.Core\MetadataSource\BookInfo\BookInfoProxy.cs:line 491

at NzbDrone.Core.MetadataSource.BookInfo.BookInfoProxy.Search(String query, Boolean getAllEditions) in D:\a\1\s\src\NzbDrone.Core\MetadataSource\BookInfo\BookInfoProxy.cs:line 295

[Warn] BookInfoProxy: Error mapping search results

[v0.1.4.1596] Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: G. Path '', line 0, position 0.

at Newtonsoft.Json.JsonTextReader.ParseValue()

at Newtonsoft.Json.JsonReader.ReadForType(JsonContract contract, Boolean hasConverter)

at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)

at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)

at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)

at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings)

at NzbDrone.Common.Http.HttpResponse`1..ctor(HttpResponse response) in D:\a\1\s\src\NzbDrone.Common\Http\HttpResponse.cs:line 103

at NzbDrone.Common.Http.HttpClient.Post[T](HttpRequest request) in D:\a\1\s\src\NzbDrone.Common\Http\HttpClient.cs:line 310

at NzbDrone.Core.MetadataSource.BookInfo.BookInfoProxy.MapSearchResult(List`1 ids) in D:\a\1\s\src\NzbDrone.Core\MetadataSource\BookInfo\BookInfoProxy.cs:line 487

at NzbDrone.Core.MetadataSource.BookInfo.BookInfoProxy.Search(String query, Boolean getAllEditions) in D:\a\1\s\src\NzbDrone.Core\MetadataSource\BookInfo\BookInfoProxy.cs:line 295

[Warn] BookInfoProxy: Error mapping search results

[v0.1.4.1596] Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: G. Path '', line 0, position 0.

at Newtonsoft.Json.JsonTextReader.ParseValue()

at Newtonsoft.Json.JsonReader.ReadForType(JsonContract contract, Boolean hasConverter)

at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)

at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)

at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)

at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings)

at NzbDrone.Common.Http.HttpResponse`1..ctor(HttpResponse response) in D:\a\1\s\src\NzbDrone.Common\Http\HttpResponse.cs:line 103

at NzbDrone.Common.Http.HttpClient.Post[T](HttpRequest request) in D:\a\1\s\src\NzbDrone.Common\Http\HttpClient.cs:line 310

at NzbDrone.Core.MetadataSource.BookInfo.BookInfoProxy.MapSearchResult(List`1 ids) in D:\a\1\s\src\NzbDrone.Core\MetadataSource\BookInfo\BookInfoProxy.cs:line 487

at NzbDrone.Core.MetadataSource.BookInfo.BookInfoProxy.Search(String query, Boolean getAllEditions) in D:\a\1\s\src\NzbDrone.Core\MetadataSource\BookInfo\BookInfoProxy.cs:line 295

[Warn] BookInfoProxy: Error mapping search results

[v0.1.4.1596] Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: G. Path '', line 0, position 0.

at Newtonsoft.Json.JsonTextReader.ParseValue()

at Newtonsoft.Json.JsonReader.ReadForType(JsonContract contract, Boolean hasConverter)

at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)

at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)

at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)

at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings)

at NzbDrone.Common.Http.HttpResponse`1..ctor(HttpResponse response) in D:\a\1\s\src\NzbDrone.Common\Http\HttpResponse.cs:line 103

at NzbDrone.Common.Http.HttpClient.Post[T](HttpRequest request) in D:\a\1\s\src\NzbDrone.Common\Http\HttpClient.cs:line 310

at NzbDrone.Core.MetadataSource.BookInfo.BookInfoProxy.MapSearchResult(List`1 ids) in D:\a\1\s\src\NzbDrone.Core\MetadataSource\BookInfo\BookInfoProxy.cs:line 487

at NzbDrone.Core.MetadataSource.BookInfo.BookInfoProxy.Search(String query, Boolean getAllEditions) in D:\a\1\s\src\NzbDrone.Core\MetadataSource\BookInfo\BookInfoProxy.cs:line 295

docker-compose pull results in error

Using your sample docker-compose.yml iun your readme.md, when doing docker-compose pull I get:

Pulling readarr ... error

ERROR: for readarr  name unknown
ERROR: name unknown

If I change the image to simply linuxserver/readarr, I get:

Pulling readarr ... error

ERROR: for readarr  manifest for linuxserver/readarr:latest not found: manifest unknown: manifest unknown
ERROR: manifest for linuxserver/readarr:latest not found: manifest unknown: manifest unknown

Cannot search for books

linuxserver.io


Expected Behavior

Try to search for an author, book, edition, etc. And it always returns: Failed to load search results, please try again.

Current Behavior

Fails

Steps to Reproduce

  1. Install Docker container. using: docker run -d --name=readarr -e PUID=1000 -e PGID=1000 -e TZ=America/Chicago -p 8787:8787 -v /configs/readarr/config:/config -v /media/Books:/books -v /media/complete:/downloads --restart unless-stopped linuxserver/readarr:develop
  2. Search.
  3. Try to debug with help on Reddit.
  4. Check with trace log and see this: https://pastebin.com/MxDRZEab
  5. Inside shell of container try to reach the problematic site with curl and get this: https://pastebin.com/EUi9VLhX
  6. Readarr support says that it is a container problem.

Environment

OS: Ubuntu 18.04
CPU architecture: x86_64
How docker service was installed: From CLI, see above.

Command used to create docker container (run/create/compose/screenshot)

See above.

Docker logs

These are in the pastebin links above, but here is a sample:

Error] Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware: An unhandled exception has occurred while executing the request. 

[v0.1.0.1248] NzbDrone.Core.MetadataSource.Goodreads.GoodreadsException: Search for 'work:4912783' failed. Invalid response received from Goodreads.
   at NzbDrone.Core.MetadataSource.BookInfo.BookInfoProxy.SearchForNewBook(String title, String author, Boolean getAllEditions) in D:\a\1\s\src\NzbDrone.Core\MetadataSource\BookInfo\BookInfoProxy.cs:line 224
   at NzbDrone.Core.MetadataSource.BookInfo.BookInfoProxy.SearchForNewEntity(String title) in D:\a\1\s\src\NzbDrone.Core\MetadataSource\BookInfo\BookInfoProxy.cs:line 134
   at lambda_method171(Closure , Object , Object[] )
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
   at Readarr.Http.Middleware.BufferingMiddleware.InvokeAsync(HttpContext context) in D:\a\1\s\src\Readarr.Http\Middleware\BufferingMiddleware.cs:line 28
   at Readarr.Http.Middleware.IfModifiedMiddleware.InvokeAsync(HttpContext context) in D:\a\1\s\src\Readarr.Http\Middleware\IfModifiedMiddleware.cs:line 41
   at Readarr.Http.Middleware.CacheHeaderMiddleware.InvokeAsync(HttpContext context) in D:\a\1\s\src\Readarr.Http\Middleware\CacheHeaderMiddleware.cs:line 33
   at Readarr.Http.Middleware.UrlBaseMiddleware.InvokeAsync(HttpContext context) in D:\a\1\s\src\Readarr.Http\Middleware\UrlBaseMiddleware.cs:line 27
   at Readarr.Http.Middleware.VersionMiddleware.InvokeAsync(HttpContext context) in D:\a\1\s\src\Readarr.Http\Middleware\VersionMiddleware.cs:line 28
   at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context)
   at Microsoft.AspNetCore.Authorization.Policy.AuthorizationMiddlewareResultHandler.HandleAsync(RequestDelegate next, HttpContext context, AuthorizationPolicy policy, PolicyAuthorizationResult authorizeResult)
   at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.<Invoke>g__Awaited|6_0(ExceptionHandlerMiddleware middleware, HttpContext context, Task task)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.