Wanted to provide an update. Was able to get the Docker container up and running, have it run under a Linux service id, and can hit both from a browser AND the android app.
Here is my docker run command:
docker run \
-d \
--user 999:999 \
-p 14231:80 \
-v <path to my audiobooks folder>:/audiobooks \
-v <path to my config folder>:/config \
-v <path to my metadata folder>:/metadata \
-v <path to my podcasts folder>:/podcasts \
--name audiobookshelf \
ghcr.io/advplyr/audiobookshelf
A few things to note:
I'm not using `-e AUDIOBOOKSHELF_UID` and `-e AUDIOBOOKSHELF_GID`. Using those two enviromental variables resulted in the container running as root, which is a security concern. By using `--user 999:999`, the container is able to run as user id 999 (which is the UID/GID of a system user called audiobookshelf), and is limited to only locations where that users has access
If your copying a library/filesystems over from a install on server into a container, Then you need to do two things. If you don't do the below, then you'll run into permission issues and books not being found
change the fullpath string in /config/Libraries/data/data.0.json to point to /audiobooks instead of /where it currently points to (for example /usr/bin/share/audiobookshelf/somefolder/audiobooks to /audiobooks)
run a Force Rescan of the library in the gui (gear wheel -> Libraries -> Force Rescan under the proper library)
To access the docker container from a website, I just had to do http://MY_SERVER_ID_ADDRESS:14231. To use the app with this container, I used the same URL - http://MY_SERVER_ID_ADDRESS:14231.
Next steps:
What I'm working on now is trying to set it up a reverse proxy with a subfolder using nginx. Do note, this isn't a subdomain (audiobookshelf.cooldomain.com), this is a subfolder (cooldomian.com/audiobookshelf). There are two aspects to this. First, hitting the container through a website's subfolder. Say https://www.cooldomain.com/audiobookshelf . Second, using nginx to stream from an external port (59322) to the port exposed above (14231).
When I figure that out, I'll post to this site for all y'all.