Open source · Production-ready

Ablibrarian Server

The full self-hosted backend: it stores your audiobook files, imports and cleans up their metadata with AI, and serves your private library to the Audiobook Librarian app on every device you and the people you invite use.

Demo login — regular user: user / user, admin: admin / admin. Read-only.

What it's for

Ablibrarian Server exists for one purpose: hosting your own audiobook library — the files you already own — on hardware you control. It's not a shared catalog, a store, or a streaming subscription. Every install is a private library for you, and for anyone you choose to invite.

It also has LibriVox's free public-domain audiobook catalog built in — run the import command and it becomes part of your library alongside your own files.

What it does

Hosts your files directly

Serves M4B, M4A, MP3, AAC, WAV, and FLAC straight from your own storage — no conversion, no re-upload, no third party in between.

AI-powered import

Point it at a folder of audiobooks and it extracts titles, authors, narrators, series, and genres from filenames and audio tags, using your choice of Google Gemini, Anthropic Claude, or OpenAI. Low-confidence matches are flagged for a quick manual review instead of silently guessing. You can also pull metadata from Google Books and Audible.

Share it with people you trust

Invite friends and family as their own accounts, each with independent progress, bookmarks, and stats against the same shared library. Role-based permissions decide who can manage the library versus who can just listen.

Library repair tooling

Nightly and on-demand scans find and fix broken metadata, missing covers, and duplicate or orphaned directories, so your library stays clean without manual bookkeeping.

Progress, badges, and stats

Every user's reading progress, achievement badges, and listening statistics live and sync directly on the server that hosts their books — no separate sync service required.

Runs anywhere

A home server, a NAS, or a cloud VPS — anything that runs Linux and Docker. Zero-config Docker deploy with a bundled SQLite database, or point it at your own MySQL/PostgreSQL. Optional multi-library hosting from a single running server, by hostname.

What you'll need

  • A Linux machine (home server, NAS, or VPS) — Docker is the easiest path, native PHP install also supported on macOS/Windows/Linux
  • Storage for your audiobook files, sized to your library
  • An HTTPS URL with a valid certificate for the mobile/desktop app to connect to
  • Optional: an API key from Google Gemini (has a free tier), Anthropic, or OpenAI, only if you want AI-assisted metadata import

No monthly fee, no subscription, and no one but you decides what stays in your library. Full source is on GitHub under the AGPL-3.0 license — audit it, modify it, or self-host it exactly as published.

View the Server on GitHub

Install it in about ten minutes

The Docker install needs no database setup: it bundles SQLite and sets itself up on first start. You'll need Docker with Compose, Git, and a domain name pointing at the machine (the apps only connect over HTTPS).

  1. Get the server and its settings file.
    git clone https://github.com/Generation-i-Systems/audiobook-librarian-server.git
    cd audiobook-librarian-server
    cp .env.docker.example .env.docker
  2. Edit .env.docker. Set APP_URL to https://library.example.com and PUBLIC_HOST to library.example.com (your own domain). To use books you already have, set HOST_BOOK_STORAGE_PATH to that folder.
  3. Start it with automatic HTTPS. Ports 80 and 443 must reach this machine; the bundled Caddy proxy gets and renews the certificate for you.
    docker compose --env-file .env.docker --profile https up -d --build
  4. Create your admin account.
    docker compose --env-file .env.docker exec app php artisan app:create-admin-user
  5. Connect the app. Open your site, sign in, and add your books. In the Audiobook Librarian app choose Ablibrarian Server and enter https://library.example.com — or scan the QR code from the admin user page to connect without typing anything.

Prefer MySQL or PostgreSQL, or installing without Docker (Linux, macOS, or Windows)? The full guides cover both, plus backups and the background jobs that keep the library tidy.

Don't need to host actual audiobook files — just cross-device sync and stats?

See Ablibrarian Lite