this post was submitted on 13 Aug 2024
5 points (100.0% liked)

Docker

966 readers
1 users here now

founded 1 year ago
MODERATORS
 

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
you are viewing a single comment's thread
view the rest of the comments
[–] hosaka@programming.dev 1 points 3 months ago* (last edited 3 months ago) (1 children)

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/compose/networking/#specify-custom-networks

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.

[–] assassin6@lemmy.dbzer0.com 2 points 3 months ago (1 children)

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.

[–] hosaka@programming.dev 1 points 3 months 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/hosaka/selfhosted/blob/main/servarr.yml