Skip to content
Projects

hectorqin/reader has 11,089 GitHub stars and 5,463 forks. GitHot measured +3 stars in 24 hours. Last checked 2026-11-07 14:23 UTC. Last push 2026-11-05.

How these counts are measured

准备 Docker、Docker Compose、书籍目录和独立数据目录。启动后访问 http://<你的主机>:5888,首个注册账号成为管理员。正式版本镜像发布在 Docker Hub hectorqin/reader-pro(amd64 / arm64)。部署步骤见入门指南。

Measured star growth

in 24h
+3
in 7 days
Update delayed
in 15 days
Update delayed
in 1 month
Update delayed

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.en.md

Original

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. Release images are published on Docker Hub as hectorqin/reader-pro (amd64 / arm64). Follow the getting started guide.

Reader opens on Home (首页), where you can resume reading and playback. The bottom navigation (a sidebar on wide screens) has four tabs: Home, Shelf (书架), Media (影音), and Me (我的). On phones, swipe sideways to move between shelf states and media categories; the wide-screen sidebar has a search box covering both books and media. Me gathers every setting: appearance and theme (one theme shared by reading and media, with a separate reading paper colour), shelf display, media browsing, playback, and account.

As an administrator, open Me → Media libraries (我的 → 媒体库), or More actions → Media library management (更多操作 → 媒体库管理) on the video page, to add a server directory or OpenList library. Mount local media into Docker first and enter its container path. Library creation starts a scan. System settings and Scan and scrape (扫描与刮削) are also under Me → Admin (管理). 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.

Explore related projects