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 46ba2f6d6a
Merge branch 'main' into feat/random-admin-password
2025-11-08 12:47:20 -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 fix(ci): cache rust much less aggressively 2025-10-18 19:21:21 -07:00
charts/readur chore(deps): update helm release common to v4.4.0 2025-10-29 18:13:57 +00:00
docs Merge pull request #269 from readur/oidc-improvements 2025-10-11 21:08:11 -07:00
frontend chore(deps): update dependency vite to v7.2.0 (#316) 2025-11-08 12:34:41 +00: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 branch 'main' into feat/random-admin-password 2025-11-08 12:47:20 -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 feat(server): allow for random admin password generation 2025-11-02 14:29:12 -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 chore(deps): update aws-sdk-rust monorepo (#311) 2025-11-04 10:40:39 +00: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 rust docker tag to v1.91 (#310) 2025-11-03 10:56:48 +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