I’m trying to set up local DNS using Pi-hole.
I have successfully set up Pi-hole and added a local DNS record local.com
, pointing it to the server running the Pi-hole container 192.168.0.101
.
Then I set up the Audiobookshelf container using the guide from Audiobookshelf, where I set up Nginx Proxy Manager with the following compose file:
services:
nginx-proxy-manager:
image: docker.io/jc21/nginx-proxy-manager:latest
container_name: nginx-proxy-manager
ports:
- 80:80
- 443:443
- 81:81
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
restart: unless-stopped
And Audiobookshelf with the following compose file:
services:
audiobookshelf:
image: ghcr.io/advplyr/audiobookshelf:latest
container_name: audiobookshelf
volumes:
- ./audiobooks:/audiobooks
- ./podcasts:/podcasts
- ./metadata:/metadata
- ./config:/config
restart: unless-stopped
networks:
nginx:
name: nginx-proxy-manager_default
external: true
I did not specify a port, hoping that Nginx could manage it.
Then I set up Nginx Proxy Manager following the guide from Audiobookshelf by adding a proxy host. Trying to resolve I simply followed the guide and wasn’t sure why the “Forward Hostname / IP” should be the container name audiobookshelf.local.com
toaudiobookshelf
.
I also created a self-signed certificate.
But I cannot access https://audiobookshelf.local.com/
or http://audiobookshelf.local.com/
(it automatically forwards to HTTPS).
I tried adding a local DNS record:
audiobookshelf.local.com
→ 192.168.0.101
in Pi-hole.
Now, when I access audiobookshelf.local.com
, the site shows:
502 Bad Gateway – openresty
I think the problem lies in the Docker network setup. I suspect the Audiobookshelf Docker container is not communicating with Nginx.
Would appreciate any help!
Are both containers connected to the same custom docker network? NPM might need to be connected to both a custom docker network and an bridge\external network.
No, the compose file lists the network but the container is still in its own network.
You need to add this to the container
networks: - nginx-proxy-manager_defualt
I think they are? I have used network setting in audiobookshelf
networks: nginx: name: nginx-proxy-manager_default external: true
I think this allows audiobookshelf container to use the external container generated by nginx by default