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
renovate[bot] fcfa0e101b
chore(deps): update rust crate rust_xlsxwriter to 0.91
2025-10-30 03:52:56 +00: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
.woodpecker fix(ci): just building one container 2025-06-13 23:10:34 +00: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 react-i18next to v16.2.0 (#285) 2025-10-29 18:13:27 +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 feat(ocr): implement new dev stack and allow for more numbers in ocr documents 2025-10-28 14:34:34 -07: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(ocr): implement new dev stack and allow for more numbers in ocr documents 2025-10-28 14:34:34 -07: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): also support individual DB environment variables instead of DATABASE_URL 2025-09-24 19:53:20 +00: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 rust crate rust_xlsxwriter to 0.91 2025-10-30 03:52:56 +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.90 2025-09-27 00:21:01 +00:00
Dockerfile.dev feat(ocr): implement new dev stack and allow for more numbers in ocr documents 2025-10-28 14:34:34 -07:00
Dockerfile.stress Merge pull request #216 from readur/renovate/alpine-3.x 2025-09-26 22:03:00 -07: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