Quick, painless, intuitive OCR platform written in Rust and TypeScript. Modern UI with modern API, with an emphasis on intuitive user experience.
Go to file
Jon Fuller 340564bf3a
Merge pull request #343 from readur/renovate/alpine-helm-4.x
chore(deps): update alpine/helm docker tag to v4
2025-12-09 12:11:24 -08:00
.cargo feat(tests): work on resolving tests that don't pass given the large rewrite 2025-07-28 04:13:14 +00:00
.claude/agents feat(webdav): support capturing individual directory errors in webdav 2025-08-14 16:24:05 +00:00
.github/workflows Merge pull request #343 from readur/renovate/alpine-helm-4.x 2025-12-09 12:11:24 -08:00
charts/readur chore(deps): update helm release common to v4.5.0 (#371) 2025-12-08 01:46:20 +00:00
docs chore(docs): update reference to incorrect readur container location 2025-12-04 07:55:46 -08:00
frontend Merge pull request #309 from readur/feat/random-admin-password 2025-12-09 11:39:45 -08:00
migrations feat(dev): trigger re-ocr on doc and docx 2025-09-02 23:04:31 +00:00
scripts feat(ci): also manage the longer filenames 2025-09-17 21:21:47 +00:00
src Merge pull request #375 from readur/373-foreign-characters-http-500-fix 2025-12-09 12:01:09 -08:00
test_data fix(everything): wow, it runs 2025-06-12 00:05:43 +00:00
test_files feat(tests): add tests for doc and docx 2025-09-02 22:52:47 +00:00
tests Merge pull request #375 from readur/373-foreign-characters-http-500-fix 2025-12-09 12:01:09 -08:00
.dockerignore feat(ocr): implement new dev stack and allow for more numbers in ocr documents 2025-10-28 14:34:34 -07:00
.env.example feat(server): allow for random admin password generation 2025-11-02 14:29:12 -08:00
.env.test feat(tests): more test suite tools 2025-06-17 14:54:59 +00:00
.gitignore feat(webdav): webdav error management and tests 2025-08-17 20:16:46 +00:00
Cargo.lock Merge pull request #353 from readur/renovate/tokio-tracing-monorepo 2025-12-09 12:11:20 -08:00
Cargo.toml chore(deps): update rust crate rust_xlsxwriter to 0.91 2025-10-30 03:52:56 +00:00
Dockerfile chore(deps): update rust docker tag to v1.91 (#310) 2025-11-03 10:56:48 +00:00
Dockerfile.dev chore(deps): update rust docker tag to v1.91 (#310) 2025-11-03 10:56:48 +00:00
Dockerfile.stress chore(deps): update alpine docker tag to v3.23 (#367) 2025-12-07 01:38:51 +00:00
Makefile feat(tests): more test suite tools 2025-06-17 14:54:59 +00:00
README.md feat(office): add documentation around using antiword/catdoc for `doc` functionality 2025-09-02 20:29:17 +00:00
create_multilingual_test_pdfs.py feat(tests): add e2e tests for multiple ocr languages 2025-07-14 04:26:50 +00:00
create_test_pdfs.py feat(tests): add more functionality to the "create_test_pdfs.py" function 2025-07-12 14:05:19 -07:00
docker-compose.dev.yml feat(ocr): implement new dev stack and allow for more numbers in ocr documents 2025-10-28 14:34:34 -07:00
docker-compose.test.yml feat(webdav): add some stress test utilities 2025-09-09 01:38:36 +00:00
docker-compose.yml feat(docs): also update docs for updated db env vars 2025-09-24 19:56:05 +00:00
grafana-dashboard.json feat(webdav): resolve failing migration tests, and implement better error handling 2025-08-23 18:52:52 +00:00
migrate_tests.py fix(tests): resolve broken test utils 2025-07-04 00:31:53 +00:00
mkdocs.yml feat(mkdocs): hopefully make the mkdocs look a little better? 2025-08-18 18:19:41 +00:00
nginx.conf fix(dev): lol readur2 -> readur 2025-07-13 18:06:53 +00:00
renovate.json feat(renovate): enable automerge on minor/patch updates that are >3 days old 2025-10-09 08:56:47 -07:00
requirements.txt feat(docs): add mkdocs requirements 2025-08-16 17:07:29 +00:00
run-tests.sh fix(build): update `npm ci` to `npm install` 2025-06-22 22:27:05 +00:00
view-test-results.sh feat(tests): more test suite tools 2025-06-17 14:54:59 +00:00

README.md

Readur 📄

Readur is a powerful and modern document management system designed to help individuals and teams efficiently organize, process, and access their digital documents. It combines a high-performance backend with a sleek and intuitive web interface to deliver a smooth and reliable user experience.

You can check our our docs at docs.readur.app.

Features

Feature Description Documentation
🔐 Secure Authentication JWT-based user authentication with bcrypt password hashing + OIDC/SSO support User Management, OIDC Setup
👥 User Management Role-based access control with Admin and User roles User Management Guide
📤 Smart File Upload Drag-and-drop support for PDF, images, text files, and Office documents (DOCX, XLSX, DOC*) File Upload Guide
🔍 Advanced OCR Automatic text extraction using Tesseract and Office document parsing OCR Optimization
🌍 Multi-Language OCR Process documents in multiple languages simultaneously with automatic language detection Multi-Language OCR Guide
🔎 Powerful Search PostgreSQL full-text search with multiple modes (simple, phrase, fuzzy, boolean) Advanced Search Guide
🔗 Multi-Source Sync WebDAV, Local Folders, and S3-compatible storage integration Sources Guide, S3 Storage Guide
🏷️ Labels & Organization Comprehensive tagging system with color-coding and hierarchical structure Labels & Organization
👁️ Folder Monitoring Non-destructive file watching with intelligent sync scheduling Watch Folder Guide
📊 Health Monitoring Proactive source validation and system health tracking Health Monitoring Guide
🔔 Notifications Real-time alerts for sync events, OCR completion, and system status Notifications Guide
🔌 Swagger UI Built-in interactive API documentation accessible from your profile menu Swagger UI Guide
🎨 Modern UI Beautiful React frontend with Material-UI components and responsive design User Guide
🐳 Docker Ready Complete containerization with production-ready multi-stage builds Installation Guide, Deployment Guide
High Performance Rust backend for speed and reliability Architecture Documentation
📊 Analytics Dashboard Document statistics and processing status overview Analytics Dashboard Guide

🚀 Quick Start

# Clone the repository
git clone https://github.com/perfectra1n/readur
cd readur

# Start all services
docker compose up --build -d

# Access the application
open http://localhost:8000

Default login credentials:

  • Username: admin
  • Password: readur2024

⚠️ Important: Change the default admin password immediately after first login!

📚 Documentation

Getting Started

Core Features

Deployment & Operations

Development

Advanced Topics

🏗️ Architecture

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   React Frontend │────│   Rust Backend  │────│  PostgreSQL DB  │
│   (Port 8000)   │    │   (Axum API)    │    │   (Port 5433)   │
└─────────────────┘    └─────────────────┘    └─────────────────┘
         │                       │                       │
         │              ┌─────────────────┐             │
         └──────────────│  File Storage   │─────────────┘
                        │  + OCR Engine   │
                        └─────────────────┘

📋 System Requirements

Minimum

  • 2 CPU cores, 2GB RAM, 10GB storage
  • Docker or manual installation prerequisites

Optional Dependencies

For legacy Microsoft Word (.doc) file support, install one of:

  • antiword - Lightweight DOC text extractor
  • catdoc - Alternative DOC text extraction tool

Note: Modern Office formats (DOCX, XLSX) are fully supported without additional dependencies.

🤝 Contributing

We welcome contributions! Please see our Contributing Guide and Development Setup for details.

🔒 Security

  • Change default credentials immediately
  • Use HTTPS in production
  • Regular security updates
  • See deployment guide for security best practices

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

Screenshots

📞 Support


Made with ❤️ and by the Readur team