A home foryour audiobooks
Bookmark is a self-hosted server for your audiobooks, with room on the same shelf for ebooks and comics. It streams to the browser and native mobile apps, keeps your progress in sync across devices, and never modifies your files.
docker compose up -d · MIT licensed · open source
The library
Covers, chapters, and metadata
Point Bookmark at the folders you already have. It scans covers, chapters, and embedded tags from your files; descriptions, ratings, and series info can be matched from Goodreads, Hardcover, Audible, and Comic Vine. Libraries are mounted read-only and never modified.
- Audible and iTunes search. Look up a book from the edit dialog to fill in the description, narrators, genres, and series order.
- Goodreads and Hardcover ratings. Community ratings show on each book. Sort the library by rating, or browse the top list.
- Metadata priority. When sources disagree, a configurable order decides which wins: manual edits, embedded tags, or matched data.
The player
A player built for audiobooks
- Playback speed. Anywhere from 0.5× to 2× on the web. The apps adjust in 0.05× steps.
- Sleep timer. Set it in minutes, or have it stop at the end of the chapter.
- Skip controls. Jump back 15 seconds or ahead 30 with one tap. The apps let you set your own intervals.
Sync
Progress syncs across devices
Your position saves to your server every few seconds while you listen. Pause on your phone, press play at your desk, and continue from the same sentence. Live updates arrive over WebSocket; no refresh required.
Mobile apps
Native apps for iPhone and Android
Real native apps, not a wrapped website, with the whole library available offline.
Public beta coming soon
- Offline downloads. Download books to the phone and listen in airplane mode. Progress reconciles once you are back online.
- Pairing. Scan a QR code from the web app to sign in, or enter your server address and use your account, including single sign-on.
- iPad support. A sidebar layout that uses the full screen.
Formats
Audiobooks, ebooks, and comics
Ebooks
EPUBs are scanned and readable right in the browser. They are also served over OPDS, so you can keep using the reader app you already prefer.
Comics
Series and issues, including TPBs, omnibuses, and one-shots. Browse, organize, and download your archives, or read them in a comic app over OPDS.
AI narration
Bookmark can narrate an ebook into an M4B audiobook, chapters included, using any OpenAI-compatible text-to-speech server. A ready-to-run engine ships in the compose file.
Accounts
Multiple users and permissions
- Per-user progress. Every account has its own progress, lists, stats, and preferences.
- Permissions and tag filters. Control who can edit metadata or upload, and use tag filters to hide certain content from certain accounts.
- OIDC, API keys, and a REST API. Optional OpenID Connect single sign-on, per-user API keys, and a REST API documented with Swagger.
- Themes. Sixteen accent colors and thirteen themes, from pure-black Pitch to light Silver, in English and Swedish.
Self-hosting
Install with Docker Compose
One image, database included. Copy the config template, point it at your media folders, and start it with a single command. The first account you create becomes the admin.
$ git clone https://github.com/RobinEdquist/bookmark.git $ cd bookmark $ cp example.env .env # point .env at your media folders, then: $ docker compose up -d ➜ Bookmark is listening at http://localhost:3001