Skip to content
SoundLeaf
App Store
Menu

Server guides · Setup

Install Audiobookshelf on Linux without Docker

Install Audiobookshelf without Docker: the official package for Debian and Ubuntu, a community RPM for RHEL and Rocky Linux, or the NixOS service.

Updated

All server guides
On this page
  1. Debian / Ubuntu
  2. Configuration
  3. Start the service
  4. Updating
  5. RHEL, Rocky Linux, AlmaLinux, CentOS Stream
  6. NixOS
  7. Windows
  8. After install
  9. Listen away from home

To run Audiobookshelf without Docker, install the official package on Debian or Ubuntu, or a community package on Red Hat style systems or NixOS. Each one runs Audiobookshelf in the background and starts it when the computer boots.

Debian / Ubuntu

Official PPA maintained by the Audiobookshelf team. It’s for 64-bit Intel and AMD machines (amd64) only, so it won’t install on a Raspberry Pi. Use Docker there.

# Add the signing key and repository
sudo apt install gnupg curl wget
wget -O- https://advplyr.github.io/audiobookshelf-ppa/KEY.gpg \
  | gpg --dearmor \
  | sudo tee /etc/apt/trusted.gpg.d/adb-archive-keyring.gpg

sudo curl -s -o /etc/apt/sources.list.d/audiobookshelf.list \
  https://advplyr.github.io/audiobookshelf-ppa/audiobookshelf.list

# Install
sudo apt update
sudo apt install audiobookshelf

Configuration

The PPA writes a default config to /etc/default/audiobookshelf on install:

METADATA_PATH=/usr/share/audiobookshelf/metadata
CONFIG_PATH=/usr/share/audiobookshelf/config
PORT=13378
HOST=0.0.0.0

That listens on every network connection, so other devices on your network can reach it, as long as the computer’s firewall allows port 13378. To restrict it to localhost (e.g., when running behind a reverse proxy on the same host), change HOST to 127.0.0.1.

Start the service

sudo systemctl start audiobookshelf.service
sudo systemctl enable audiobookshelf.service

Updating

sudo apt update
sudo apt upgrade audiobookshelf

Version 2.37.0 failed to start on this package with EACCES: permission denied, mkdir '/home/audiobookshelf'. It’s fixed in 2.37.1, so updating again sorts it out. Audiobookshelf 2.37 won’t start has the details and how to go back to 2.36.1.


RHEL, Rocky Linux, AlmaLinux, CentOS Stream

Community RPM maintained by Lars Kiesow, for Red Hat and CentOS Stream 8, 9 and 10 and the systems built on them:

# Install the repository (rpm -E %rhel fills in your release number)
sudo dnf install -y "https://github.com/lkiesow/audiobookshelf-rpm/raw/el$(rpm -E %rhel)/audiobookshelf-repository-1-1.el$(rpm -E %rhel).noarch.rpm"

# Install
sudo dnf install audiobookshelf

Configuration lives at /etc/default/audiobookshelf:

METADATA_PATH=/var/lib/audiobookshelf/metadata
CONFIG_PATH=/var/lib/audiobookshelf/config
PORT=13378
HOST=127.0.0.1

Unlike the Debian package, this one only listens on the machine itself (127.0.0.1), which suits a reverse proxy on the same machine. To reach it from your phone on the home network, change HOST to 0.0.0.0 and restart the service.

Start and enable with systemctl the same way as Debian/Ubuntu.


NixOS

Turn on the service in your configuration.nix, then run sudo nixos-rebuild switch:

services.audiobookshelf = {
  enable = true;
  port = 13378;          # the module's default is 8000
  host = "0.0.0.0";      # the default, 127.0.0.1, only allows this machine
  openFirewall = true;   # off by default
};

With only enable = true, the NixOS service listens on port 8000 and only on the machine itself. The NixOS options page lists the rest.

To run it by hand instead, add pkgs.audiobookshelf to environment.systemPackages, rebuild, then:

audiobookshelf \
  --metadata "$(pwd)/metadata" \
  --config "$(pwd)/config" \
  --port 13378 \
  --host 0.0.0.0

Windows

For Windows, the official docs point to an installer that doesn’t need Docker. Install Audiobookshelf on Windows has the steps.


After install

  1. Open the server in a browser:
    • Debian or Ubuntu: http://YOUR-IP:13378 from any device on your network.
    • RPM package: http://localhost:13378 on the server itself, or change HOST to 0.0.0.0 to reach it from other devices.
    • NixOS: with the settings above, http://YOUR-IP:13378. With only enable = true, http://localhost:8000 on the server itself. Change host and port and rebuild to change that.
  2. Create your admin account
  3. Add a library and point it to your audiobooks folder. Give each book its own folder (folder structure)
  4. Let it scan your files

The Debian and RPM packages use port 13378 unless you change it. What port does Audiobookshelf use? explains how to check or change it, and what to type as your server address shows what goes into the app.

Then connect SoundLeaf to start listening.

Listen away from home

Listen away from home helps you pick between Tailscale, a reverse proxy and a Cloudflare Tunnel.