Simply put, I can’t get Audiobookshelf to respond to any port other than 80. I’m using the following Docker Compose (spacing may be off because I suck at formatting posts):

version: “3.7”
services:
audiobookshelf:
image: ghcr.io/advplyr/audiobookshelf:latest
network_mode: “host”
ports:
- 13378:80
restart: unless-stopped
volumes:
- /media/Vault/ABS/audiobooks:/audiobooks
- /media/Vault/ABS/podcasts:/podcasts
- /media/Vault/ABS/config:/config
- /media/Vault/ABS/metadata:/metadata

The way I understand it, externally the host should answer on port 13378 and the container on port 80. Just for kicks, I’ve tried the following variations:

  • 13378:80
  • 80:13378
  • 13378:13378

I’ve even tried it without the version statement. Regardless of these, Audiobookshelf will only answer on port 80. All my other containers work fine and answer on the port I designate.

I do not have anything else listening on port 13378.

What am I doing wrong?

  • @cybersandwich
    link
    English
    2511 months ago

    You’re using network_mode: “host” which makes the container use the host’s networking directly. When you use host mode, the port mappings are ignored because the container doesn’t have its own IP address, it’s sharing the host’s IP. Remove or change the network mode to see if that fixes it.