Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

App Submission: OpenReader WebUI #2499

Open
wants to merge 30 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
8cbd8c6
Merge pull request #1 from getumbrel/master
dennysubke Sep 24, 2024
1679c67
Add files via upload
dennysubke Sep 24, 2024
b8cd858
Delete denny-linkstack directory
dennysubke Sep 24, 2024
98bbed6
Add files via upload
dennysubke Sep 24, 2024
34dce5d
Update docker-compose.yml
dennysubke Sep 24, 2024
c3c6fdb
Update umbrel-app.yml
dennysubke Sep 24, 2024
8a30866
Update umbrel-app.yml
dennysubke Sep 24, 2024
2c1669f
Update umbrel-app.yml
dennysubke Sep 24, 2024
8855afa
Update umbrel-app.yml
dennysubke Sep 24, 2024
7fb6b12
Update umbrel-app.yml
dennysubke Sep 24, 2024
a467b93
Update umbrel-app.yml
dennysubke Sep 24, 2024
627d78b
Update umbrel-app.yml
dennysubke Sep 24, 2024
57d703f
Add files via upload
dennysubke Sep 25, 2024
5c5ebcc
Delete excalidraw directory
dennysubke Sep 25, 2024
f54af58
Update umbrel-app.yml
dennysubke Sep 25, 2024
5899c20
Update umbrel-app.yml
dennysubke Sep 25, 2024
ad04036
Update umbrel-app.yml
dennysubke Sep 25, 2024
6290052
Delete linkstack directory
dennysubke Sep 25, 2024
3977fa6
Add files via upload
dennysubke Oct 27, 2024
0c3f58c
Update docker-compose.yml
dennysubke Oct 27, 2024
4edde17
Update docker-compose.yml
dennysubke Oct 27, 2024
f2d3c00
Delete denny-onionshare directory
dennysubke Oct 27, 2024
5a9a430
Merge branch 'getumbrel:master' into master
dennysubke Feb 24, 2025
e6b244f
Merge branch 'getumbrel:master' into master
dennysubke Mar 19, 2025
7b91cd7
Merge branch 'getumbrel:master' into master
dennysubke Mar 26, 2025
9bbb7ed
Merge branch 'getumbrel:master' into master
dennysubke Apr 3, 2025
08deb9b
Merge branch 'getumbrel:master' into master
dennysubke Apr 4, 2025
ee13c8d
Add files via upload
dennysubke Apr 4, 2025
c30f87d
Create .gitkeep
dennysubke Apr 4, 2025
becbf91
Update docker-compose.yml
dennysubke Apr 4, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions openreader/data/docstore/.gitkeep
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

16 changes: 16 additions & 0 deletions openreader/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
version: '3.7'

services:
app_proxy:
environment:
APP_HOST: openreader_web_1
APP_PORT: 3003

web:
image: ghcr.io/richardr1126/openreader-webui:0.2.6@sha256:1f60d64898f85d24fab3a0b34be3c7c7a51b2fd37540ae54baca81d35e7289bb
user: "1000:1000"
environment:
- API_BASE=http://host.docker.internal:8880/v1 #Set the TTS API_BASE URL and/or API_KEY as the default for all devices. These values can also be overridden in the UI.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The other setting does not work. I set the API url of the kokoro container, this does the trick for me.

Suggested change
- API_BASE=http://host.docker.internal:8880/v1 #Set the TTS API_BASE URL and/or API_KEY as the default for all devices. These values can also be overridden in the UI.
- API_BASE=http://kokoro_web_1:8880/v1 #Set the TTS API_BASE URL and/or API_KEY as the default for all devices. These values can also be overridden in the UI.

restart: on-failure
volumes:
- ${APP_DATA_DIR}/data/docstore:/app/docstore
37 changes: 37 additions & 0 deletions openreader/umbrel-app.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
manifestVersion: 1
id: denny-openreader
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fix the id.

Suggested change
id: denny-openreader
id: openreader

name: OpenReader WebUI
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably better to just call it OpenReader as the WebUI part would anyways be cut on the home screen.

Suggested change
name: OpenReader WebUI
name: OpenReader

tagline: A document reader with Text-to-Speech capabilities
category: ai
version: "0.2.6"
port: 3391
description: >-
OpenReader WebUI is a web-based document reader that integrates text-to-speech (TTS) functionality, allowing users to listen to text from various document formats, including PDF and EPUB. Designed to enhance accessibility and improve the reading experience, it features synchronized text highlighting, ensuring that the currently read portion of the document is visually emphasized as the speech engine narrates the content. This makes it particularly useful for individuals with visual impairments, reading difficulties, or those who simply prefer an auditory learning style.


The application is built with compatibility in mind, supporting any OpenAI-compatible TTS backend, such as Kokoro-FastAPI and Orpheus-FastAPI. This allows users to select a preferred speech synthesis engine, offering flexibility in voice selection, pronunciation accuracy, and overall reading quality. By leveraging these backends, OpenReader WebUI can generate natural-sounding speech, making long-form reading more engaging and reducing the cognitive load associated with traditional reading.


The user interface is designed to be intuitive and lightweight, providing a seamless experience without unnecessary complexity. Users can upload documents directly through the web interface, control playback speed, pause and resume narration, and navigate through the document efficiently. The software aims to cater to a diverse audience, including students, professionals, and individuals with disabilities, ensuring that reading materials are more accessible to everyone.


Additionally, OpenReader WebUI is available as an open-source project, allowing developers to contribute to its improvement and expand its capabilities. A public demo is accessible online, enabling users to test its features without requiring installation, making it easy to evaluate its functionality before setting up a local instance. With a focus on usability and accessibility, OpenReader WebUI represents a modern approach to document reading, bridging the gap between text and speech in a user-friendly manner.


⚠️ This app only works in Chromium-based browsers (e.g., Chrome, Edge, Brave).
developer: Richard Roberson
website: hhttps://openreader.richardr.dev/
submitter: dennysubke
submission: https://github.com/getumbrel/umbrel-apps/pull/2499
repo: https://github.com/richardr1126/OpenReader-WebUI
support: https://github.com/richardr1126/OpenReader-WebUI/issues
gallery:

Check warning on line 28 in openreader/umbrel-app.yml

View workflow job for this annotation

GitHub Actions / Lint apps

"icon" and "gallery" needs to be empty for new app submissions

The "icon" and "gallery" fields must be empty for new app submissions as it is being created by the Umbrel team.
- 1.jpg
- 2.jpg
- 3.jpg
- 4.jpg
releaseNotes: ""
dependencies: []
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would set the kokoro app as a requirement for the app to properly function.

Suggested change
dependencies: []
dependencies:
- kokoro

path: ""
defaultUsername: ""
defaultPassword: ""