Add environment variables for fine-grained control over TTS rate limiting and Better Auth behavior. Move documentation to external Docusaurus site with automated deployment workflows. - TTS rate limiting can now be enabled/disabled via TTS_ENABLE_RATE_LIMIT - Customizable daily limits for anonymous/authenticated users and IP backstops - Better Auth rate limiting can be disabled via DISABLE_AUTH_RATE_LIMIT - Rename library import env vars to IMPORT_LIBRARY_DIRS/DIR - Add docs-site with Docusaurus and GitHub Actions workflows - Update README to reference external documentation
48 lines
3.3 KiB
Markdown
48 lines
3.3 KiB
Markdown
[](https://github.com/richardr1126/OpenReader-WebUI/releases)
|
|
[](LICENSE)
|
|
[](https://docs.openreader.richardr.dev/)
|
|
[](https://github.com/richardr1126/OpenReader-WebUI/actions/workflows/playwright.yml)
|
|
[](https://github.com/richardr1126/OpenReader-WebUI/actions/workflows/docs-check.yml)
|
|
|
|
[](https://github.com/richardr1126/OpenReader-WebUI/stargazers)
|
|
[](https://github.com/richardr1126/OpenReader-WebUI/network/members)
|
|
[](https://github.com/richardr1126/OpenReader-WebUI/discussions)
|
|
|
|
# 📄🔊 OpenReader WebUI
|
|
|
|
OpenReader WebUI is an open source, self-host-friendly text-to-speech document reader built with Next.js for **EPUB, PDF, TXT, MD, and DOCX** with synchronized read-along playback.
|
|
|
|
> **Get started in the [docs](https://docs.openreader.richardr.dev/)**.
|
|
|
|
## ✨ Highlights
|
|
|
|
- 🎯 **Multi-provider TTS** with OpenAI-compatible endpoints (OpenAI, DeepInfra, Kokoro, Orpheus, custom).
|
|
- 📖 **Read-along playback** for PDF/EPUB with sentence-aware narration.
|
|
- ⏱️ **Word-by-word highlighting** via optional `whisper.cpp` timestamps.
|
|
- 🛜 **Sync + library import** to bring docs across devices and from server-mounted folders.
|
|
- 🗂️ **Flexible storage** with embedded SeaweedFS or external S3-compatible backends.
|
|
- 🎧 **Audiobook export** in `m4b`/`mp3` with resumable chapter processing.
|
|
- 🐳 **Self-host friendly** with Docker, optional auth, and automatic startup migrations.
|
|
|
|
## 🚀 Start Here
|
|
|
|
| Goal | Link |
|
|
| --- | --- |
|
|
| Run with Docker | [Docker Quick Start](https://docs.openreader.richardr.dev/getting-started/docker-quick-start) |
|
|
| Develop locally | [Local Development](https://docs.openreader.richardr.dev/getting-started/local-development) |
|
|
| Configure auth | [Auth](https://docs.openreader.richardr.dev/guides/configuration) |
|
|
| Configure SQL database | [SQL Database](https://docs.openreader.richardr.dev/operations/database-and-migrations) |
|
|
| Configure object storage | [Object / Blob Storage](https://docs.openreader.richardr.dev/guides/storage-and-blob-behavior) |
|
|
| Configure TTS providers | [TTS Providers](https://docs.openreader.richardr.dev/guides/tts-providers) |
|
|
| Run Kokoro locally | [Kokoro-FastAPI](https://docs.openreader.richardr.dev/integrations/kokoro-fastapi) |
|
|
| Get support or contribute | [Support and Contributing](https://docs.openreader.richardr.dev/community/support) |
|
|
|
|
## 🧭 Community
|
|
|
|
- Questions and ideas: [GitHub Discussions](https://github.com/richardr1126/OpenReader-WebUI/discussions)
|
|
- Bug reports: [GitHub Issues](https://github.com/richardr1126/OpenReader-WebUI/issues)
|
|
- Contributions: open a pull request
|
|
|
|
## 📜 License
|
|
|
|
MIT. See [LICENSE](LICENSE).
|