Search
K
Links

How to set up a remote audiobook server

Learn how to configure a personal audiobook server and listen to it remotely using Meshnet.

Introduction

Audiobookshelf is a feature-rich, open-source solution for managing audiobooks. This platform allows you to have a centralized location for audiobooks and podcasts, enabling convenient access from various devices over the network. Due to its self-hosted nature, the server is accessible only from the local area network (LAN). However, you may want to listen to your favorite audiobook while you’re on a commute from work or just taking a stroll around town.
With Meshnet, you don’t need to leave your home network vulnerable and mess with difficult configurations to remotely access the server. Simply enable Meshnet on your device and the server, and enjoy seamless access to your audiobook collection from anywhere.
This tutorial showcases how you can host an audiobookshelf server using Docker on Windows, macOS, and Linux, and access it remotely over Meshnet.

Before you begin

To follow this guide, ensure you have Docker and Docker Compose installed on your device. You can find instructions on how to download and install these tools on the Docker website:
Note
Docker Compose comes pre-installed with Docker Desktop.

Deploy audiobookshelf using Docker

With the prerequisites taken care of, you can begin setting up your audiobookshelf instance. Docker allows you to run the server as a lightweight app on all three desktop platforms.

Creating a Docker Compose file

First, you need to make a Docker Compose file, which will contain all of the instructions for deploying the audiobookshelf instance.
Windows
macOS and Linux
  1. 1.
    Open PowerShell.
  2. 2.
    In your preferred directory, create a new audiobookshelf folder and navigate to it using the following command:
    mkdir audiobookshelf; cd audiobookshelf
  3. 3.
    Create a docker-compose.yml file and open it using Notepad by running:
    notepad docker-compose.yml
    When prompted to create the file, click Yes.
    Notepad dialog asking to create a file, with the "Yes" button highlighted.
  4. 4.
    In Notepad, paste the following instructions for the audiobookshelf Docker container:
    version: "3.7"
    services:
    audiobookshelf:
    container_name: audiobookshelf
    image: ghcr.io/advplyr/audiobookshelf:latest
    ports:
    - 13378:80
    volumes:
    - .\config:/config
    - .\metadata:/metadata
    - <\path\to\audiobooks>:/audiobooks
    - <\path\to\podcasts>:/podcasts
  5. 5.
    Replace the placeholders with the paths appropriate for your configuration:
    • Swap <\path\to\audiobooks> with the path to your audiobook folder.
    • Swap <\path\to\podcasts> with the path to your podcasts folder.
      Example
      Notepad window with two lines highlighted.
  6. 6.
    Press Ctrl + S to save changes.
  7. 7.
    Exit Notepad.
  1. 1.
    Open Terminal.
  2. 2.
    In your preferred directory, create a new audiobookshelf folder and navigate to it using the following command:
    mkdir audiobookshelf && cd audiobookshelf
  3. 3.
    Create a docker-compose.yml file and open it using the Nano text editor by running:
    nano docker-compose.yml
  4. 4.
    In the compose file, paste the following instructions for the audiobookshelf Docker container:
    version: "3.7"
    services:
    audiobookshelf:
    container_name: audiobookshelf
    image: ghcr.io/advplyr/audiobookshelf:latest
    ports:
    - 13378:80
    volumes:
    - ./config:/config
    - ./metadata:/metadata
    - </path/to/audiobooks>:/audiobooks
    - </path/to/podcasts>:/podcasts
  5. 5.
    Replace the placeholders with the paths appropriate for your configuration:
    • Swap </path/to/audiobooks> with the path to your audiobook folder.
    • Swap </path/to/podcasts> with the path to your podcasts folder. Example
      Terminal window with two lines highlighted.
  6. 6.
    Press Ctrl + X, Y, and Enter to save changes and exit the text editor.

Starting the audiobookshelf instance

With the instructions in place, you can deploy the audiobookshelf container by running the following command from the audiobookshelf directory:
docker compose up -d
Docker will pull the audiobookshelf image from Docker Hub and deploy the container.

Verifying the container status

You can run the docker ps command to check the status of your container. In the output, under STATUS, you should see Up and the duration indicating how long the container has been running.
Terminal window showing the output of the 'docker ps' command.

Configure your audiobookshelf

The audiobookshelf server creates a web interface on port 13378. The interface contains all the settings for managing the server and its properties.

Creating an administrator account

To begin personalizing the server, complete the initial setup and create an administrator user account.
  1. 1.
    Open your internet browser.
  2. 2.
    Navigate to the following URL: localhost:13378/
  3. 3.
    Enter your preferred administrator username and password.
    Username and password fields for the root user filled in.
  4. 4.
    Click Submit.
  5. 5.
    On the login page, enter the credentials you just created and select Submit once more.
    "Submit" button highlighted on the Login screen.

Adding audiobook libraries

Upon logging in, you are taken to the Libraries page of your audiobook server. From here, you can add directories containing your audiobook collection.
  1. 1.
    Select Add your first library.
  2. 2.
    In the Library name field, enter a custom name for the library you are importing.
  3. 3.
    Click Browse for folder.
  4. 4.
    Choose the audiobooks folder, and click Select folder path.
    "audiobooks" folder and the "Select folder path" buttons highlighted.
  5. 5.
    Click Create.
Under Libraries, click the Scan button to scan your newly added directory for audiobooks.
"Scan" button highlighted.

Creating additional user accounts

If you decide to share the audiobook server with your peers, creating new standard user accounts for each user is recommended. This ensures that your administrator account remains secure and that each person can easily keep track of the books they are listening to.
To create a new user account:
  1. 1.
    On your audiobookshelf web interface, from the left side menu, select Users.
  2. 2.
    In the upper-right corner, click Add user.
    "Add user" button highlighted.
  3. 3.
    In the Username and Password fields, enter the login credentials for the new user account.
  4. 4.
    Under Permissions, choose the permissions you want the new account to have.
  5. 5.
    Click Submit.
    "Submit" button highlighted.
The newly added account should now be visible under Users and can be used to log in to the server.
Table of users with one entry highlighted.

Listen to audiobooks over Meshnet

Now that the server is fully set up, you can start listening to your audiobook collection remotely with the help of Meshnet.

Method 1: Using a mobile app

Audiobookshelf currently has apps available for Android and iOS devices that streamline the user experience. You can find download links for the mobile apps on the audiobookshelf documentation page.
After installing the mobile app:
  1. 1.
    Copy the server device’s Nord name from the NordVPN app.
    "Copy device's Nord name" option highlighted.
  2. 2.
    Launch audiobookshelf.
  3. 3.
    Tap Connect.
    "Connect" button highlighted
  4. 4.
    In the Server address field, paste the copied Nord name, followed by :13378, and tap Submit. Example
    Server's Nord name and port entered and the "Submit" button highlighted.
  5. 5.
    Enter your account’s login credentials and tap Submit.
    Login dialog with entered credentials and the "Submit" button highlighted.
You should now see your audiobook library in the app. To play an audiobook, select it and tap Stream.

Method 2: Using an internet browser

Another method to access the audiobook server is directly from an internet browser. This option is universally applicable to all devices because it doesn’t require installing additional software.
To access the audiobookshelf server:
  1. 1.
    Copy the server device’s Nord name from the NordVPN app.
  2. 2.
    Open your internet browser.
  3. 3.
    In the URL field, paste the copied Nord name, add :13378/, and press Enter. Example secret.meerkat-himalayas.nord:13378/
  4. 4.
    Enter the credentials for your audiobookshelf account and click Submit.
    Login page of the audiobookshelf server open in an internet browser and the "Submit" button highlighted.
Now you can navigate the server and listen to your audiobook collection from your browser wherever you are.
© 2023 Nord Security. All Rights Reserved.