this post was submitted on 15 Sep 2025
33 points (97.1% liked)

Selfhosted

51545 readers
177 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

Hey all, I'm relatively new to the selfhosting game the most I've done to date is own and maintain a plex server for the last few years, but that mainly handles all of the networking for me so I'd say it doesn't really count.

Recently, due in part to the ongoing controversy with audibles royalty and streaming model I've decided to try my hand at setting up an Audiobookshelf server of my own. For reference I'm running on a machine with Ubuntu 20.04. Ive managed to get Audiobookshelf and nginx running through docker and accessible via the localhost:port, but now I feel like I'm missing some key understandings.

I assume I need to have a domain name through a DNS service like cloudflare in order to make use of it, but I'm not sure what to do after that and the documentation that I have read doesn't outright answer my questions.

Once I have my DNS setup, how do I associate it with my server or point it through the nginx reverse proxy?

I know I'll have to setup a .conf file for nginx at some point and I found the example .conf in the audiobookshelf documentation, but I just feel like I'm missing the step between getting a domain name and establishing the reverse proxy.

Any help would be greatly appreciated, thanks!

you are viewing a single comment's thread
view the rest of the comments
[–] TheBlindPew@lemmy.dbzer0.com 2 points 3 days ago (1 children)

Thank you so much this is very helpful, I'll definitely be taking a run at it with all of this advice in mind this week. When you mention running the whole thing as a single stack does that mean getting all of it running inside a single docker container such that it only takes the 1 docker run command? Is it a requirement to get them able to talk or just a more elegant way to have the entirety of the server running in a singular container instead of spread across several?

[–] mic_check_one_two@lemmy.dbzer0.com 2 points 3 days ago* (last edited 3 days ago)

A stack is a group of containers that were all started together via a docker-compose.yml file. You can name the stack and have all of the containers dropped down below it. Compose is simply a straightforward way to ensure your containers all boot with the same parameters each time.

Instead of needing to remember all of the various arguments for each container, you simply note them in the compose file and run that. Docker Compose reads the file and runs the containers with the various arguments.

Moving from docker to docker-compose is the single largest ease-of-use change I made in my setup. If you want some help in how to use it, I can post a quick example and some instructions on setting it up. You would use cd [directory with your docker-compose.yml] to select the proper directory, then docker-compose up -d to run the compose file.

Updating would be docker-compose down to stop the stack, docker-compose pull to pull updated images, docker-compose up -d to start your stack again, then docker image prune -f to delete the old (now outdated and unused) images.