reader

One home for your books, movies, series, music, and audiobooks.

A self-hosted reading and media library for browsers and Android, with EPUB typography, comic reading, media playback, and per-user progress sync.

简体中文 · English

Get started · Reading guide (中文) · Media guide (中文) · Configuration · Documentation

Why reader

  • Your own libraries: mount existing directories, connect OPDS book catalogs, or add OpenList media directories. Books and media are organized separately; indexes, covers, and user state live in the data directory.
  • Built for reading: preserve EPUB publisher styles, detect TXT encodings and chapters, and enjoy comics, paged or scrolling reading, themes, fonts, and text-to-speech.
  • Media browsing: browse movies and series, artists and albums, or audiobooks and narrators. Filter by library, search, save favorites, and manage playback history and queues.
  • Metadata and organization: read local tags, NFO, artwork, lyrics, and subtitles. Configure TMDB and MusicBrainz for online matching, review candidates, or edit metadata and editions manually.
  • Continue across devices: accounts have independent shelves, notes, reading and playback progress. Web video uses DPlayer; audio includes lyrics, speed controls, and a sleep timer. Android supports native background playback.
  • Simple hosting: one Docker container serves the backend and Web UI. Media scanning only reads source files, with separate databases and service threads for reading and media.

Supported content

Type Support
EPUB / TXT Publisher typography, contents, footnotes; TXT encoding detection and inferred chapters
CBZ / ZIP / image directories Natural page ordering, comic paging, and volumes
PDF Basic browser or device viewing without reflow
OPDS Browse, search, and acquire books; publish a read-only catalog to external readers
Movies / series Artwork, metadata, seasons, episodes, editions, subtitles, and progress
Music Artists, albums, tracks, lyrics, queues, and continuous playback
Audiobooks Narrators, descriptions, chapters, playback speed, and sleep timers
OpenList Scan remote media and sidecar metadata, then play through Reader's authorized streaming API

Get started

Prepare Docker, Docker Compose, a book directory, and a separate data directory. Open http://<your-host>:5888 after starting the service. The first registered account becomes the administrator. Follow the getting started guide.

Reader opens on the video page (#/media/video) by default. Use the channel navigation to switch between video, music, audiobooks, and reading; the media entry on the shelf also opens the video page. Media settings include multiple themes; reading controls and bookshelf settings remain separate.

From the video page, open More actions → Media settings → Media libraries to add a server directory or OpenList library. Mount local media into Docker first and enter its container path. Library creation starts a scan. See the media guide (中文) and OpenList setup (中文).

Documentation

I want to… Start here
Deploy reader and add books or media Getting started
Use shelves, reading, OPDS, and text-to-speech Reading guide (中文)
Manage media, match metadata, and play content Media guide (中文)
Connect OpenList / NAS / cloud storage mounts OpenList setup (中文)
Configure HTTPS, metadata tools, or TTS Configuration
Back up accounts, reading, and media state Backup and restore (中文)
Develop, test, or build Android Development, media validation (中文)

Current limits

  • No audio/video transcoding. Playback depends on the browser or device's container and codec support.
  • OpenList supports sidecar NFO, artwork, lyrics, and subtitles; remote embedded tags, artwork, and chapters are not read. Some drivers require OpenList Web proxy and correct Range support.
  • No TVBox/JAR, media offline downloads, or direct cloud account login. OpenList manages cloud storage mounts.
  • PDF viewing is basic; .rar/.cbr and general book conversion are unsupported. Offline reading depends on content cached on the current device.
  • Web and Android clients are available. There are no standalone iOS or desktop clients; use a browser on desktop.

Contributing

Bug reports, documentation improvements, and code contributions are welcome. Include reproduction steps, your environment, and redacted logs. See the development guide.

License

GNU Affero General Public License v3.0.

S
Description
Reader - book source reading service
Readme AGPL-3.0
26 MiB
0 Stars 1 Watchers 0 Forks
Languages
TypeScript 77.7%
JavaScript 11.2%
CSS 7.4%
Kotlin 3.2%
Shell 0.2%
Other 0.2%