You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
OpenReader WebUI is web-based reader Text-to-Speech capabilities, offering a TTS read along experience with narration for both PDF and EPUB documents. It can use any OpenAI compatible TTS endpoint, including [Kokoro-FastAPI](https://github.com/remsky/Kokoro-FastAPI/tree/v0.0.5post1-stable).
7
7
8
-
- 🎯 **TTS API Integration**: Compatible with OpenAI API TTS and Kokoro FastAPI TTS, enabling high-quality voice narration
9
-
- 💾 **Local-First Architecture**: Secure document handling with IndexedDB browser storage - no server uploads required
10
-
- 🔍 **Smart Text Processing**: Real-time sentence detection and synchronized text highlighting during playback
8
+
- 🎯 **TTS API Integration**: Compatible with OpenAI text to speech API, Kokoro FastAPI TTS, or any other compatible service; enabling high-quality voice narration
9
+
- 💾 **Local-First Architecture**: Uses IndexedDB browser storage - no server uploads required
10
+
- 🛜 **Optional Server-side documents**: Manually upload documents to the next backend for all users to download
11
+
- 🔍 **Smart Text Processing**: Splits content into sentence blocks (ePub tries to split at paragraphs)
11
12
- 📚 **EPUB Support**: Read EPUB files with table of contents and synchronized text
12
13
- 📄 **PDF Support**: Read PDF files with text extraction and page navigation
13
-
- ⚡ **Modern Tech Stack**: Built with Next.js, React, and Tailwind CSS
14
+
- ⚡ **Modern Tech Stack**: Built with Next.js, React, Tailwind CSS, and some Headless UI React
docker run --name openreader-webui -p 3003:3003 richardr1126/openreader-webui:latest
33
-
```
34
-
or with server-side doc storage:
35
-
36
30
```bash
37
31
docker run --name openreader-webui \
38
32
-p 3003:3003 \
39
33
-v openreader_docstore:/app/docstore \
40
34
richardr1126/openreader-webui:latest
41
35
```
36
+
> Note: The `openreader_docstore` volume is used to store server-side documents. You can mount a local directory instead. Or remove it if you don't need server-side documents.
37
+
42
38
Visit [http://localhost:3003](http://localhost:3003) to run the app.
> Dev server runs on port 3000 by default, while the production server runs on port 3003.
99
101
100
-
#### Docker Supported Architectures
102
+
103
+
## 💡 Feature requests
104
+
105
+
For feature requests or ideas you have for the project, please use the [Discussions](https://github.com/richardr1126/OpenReader-WebUI/discussions) tab.
106
+
107
+
## 🙋♂️ Support and issues
108
+
109
+
For general questions, you can reach out to me on [Bluesky](https://bsky.app/profile/richardr.dev). If you encounter issues, please open an issue on GitHub following the template (which is very simple).
110
+
111
+
## 👥 Contributing
112
+
113
+
Contributions are welcome! Fork the repository and submit a pull request with your changes.
114
+
115
+
## ❤️ Acknowledgements
116
+
117
+
-[Kokoro-FastAPI](https://github.com/remsky/Kokoro-FastAPI) for the API wrapper
-[Kokoro-82M](https://huggingface.co/hexgrad/Kokoro-82M) for text-to-speech
121
+
122
+
## Docker Supported Architectures
101
123
- linux/amd64 (x86_64)
102
124
- linux/arm64 (Apple Silicon)
103
125
- linux/arm/v7 (Raspberry Pi)
104
126
105
-
## **Features**
106
-
- Real-time sentence by sentence text-to-speech via OpenAI API TTS, [Kokoro FastAPI TTS](https://github.com/remsky/Kokoro-FastAPI), or others compatible with the `/v1/audio/speech` endpoint
107
-
- IndexedDB-powered local storage
108
-
- Synchronized text highlighting during playback (using string similarity for best match on the page)
109
-
- Configurable playback speed and voice options, which checks `/v1/audio/voices` for available voices
110
-
- Click-to-skip on the same page for navigation
111
-
- Responsive design with light, dark, and system themes
0 commit comments