calibre integration with readarr problems in docker

2 years ago by assassin6 to c/docker

I have readarr and all other arrs working in Ubuntu with docker portainer. I followed the trash guides and LinuxServerio guides to get me this far. I want to expand my book library, and so I have added calibre.

After having calibre import my book library, I went to readarr to delete the root, and re-add it with the new path to the calibre library. I am having problems with the Calibre Settings on the Add Root page.

The calibre server is listening at 172.18.0.2, port 8081, HTTP. I have created a user account on the calibre "sharing over the net" page. In readarr, I have set the Calibre Host to 172.18.0.2 and the Calibre Port to 8081. When I click save, I get the error Unknown exception: Http request timed out.

Most of the guides I have found are 3 or 4 years old. On one guide the Calibre Host was set to: calibre. That doesn't work. Setting the Host to the IP of my server doesn't work either.

Can any one help? I don't know if I have a permissions or firewall problem, or if I am just doing something wrong. The calibre logs are not showing any issues. I have copied the .yaml files used below.

-services:

  • calibre:
  • image: lscr.io/linuxserver/calibre:latest
  • container_name: calibre
  • security_opt:
    • seccomp:unconfined
  • environment:
    • PUID=1000
    • PGID=1000
    • TZ=Europe/London
    • CLI_ARGS = #optional
  • volumes:
    • /data/calibre:/config
    • /data/Media/calibre:/library
    • /data/Media/books:/upload
  • ports:
    • 8080:8080
    • 8081:8081
  • restart: unless-stopped

-services:

  • readarr:
  • image: lscr.io/linuxserver/readarr:develop
  • container_name: readarr
  • environment:
    • PUID=1000
    • PGID=1000
    • TZ=Europe/London
  • volumes:
    • /data/readarr:/config
    • /data/Media/calibre:/library
    • /data/Media/downloads:/downloads
  • ports:
    • 8787:8787
  • restart: unless-stopped
hosaka 1 point 2 years ago

I think you're using docker internal IPs, which are not static and can change between docker compose runs. You can instead address them by name if you connect then to a same virtual network: https://docs.docker.com/...

This allows two service to "see eachother". For example "calibre:8081" will resolve to an internal IP address. I'm general, this is a better approach when you need to connect apps to each other.

path: 0 11742561, hotness: undefined, score: 1, children: 2
assassin6 2 points 2 years ago

You were correct, thank you so much. The apps were in the default network docker0. I looked into it, and the easiest option for my situation was simply to create another bridge network and move my apps into that. Now readarr can find Host = Calibre.

path: 0 11742561 11750629, hotness: undefined, score: 2, children: 1
hosaka 1 point 2 years ago

Glad you figured it out! A separate network for a set of services that need to talk to eachother is the way I do it for my selfhosted tools, if you want some more ideas on setting up the *arr apps using docker compose, this is my current setup: https://github.com/...

path: 0 11742561 11750629 11756716, hotness: undefined, score: 1, children: 0
docker
docker

@programming.dev

login for more options
1479
100
12

go to feed...