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 117fd3069d Merge branch 'main' into feat/multiple-ocr-languages 2025-07-13 18:16:07 -07:00
.github/workflows debug(tests): set DEBUG=1 in the correct spot lol 2025-07-08 19:59:33 +00:00
.woodpecker fix(ci): just building one container 2025-06-13 23:10:34 +00:00
charts/readur Merge pull request #26 from readur/renovate/common-4.x 2025-06-25 21:35:44 -07:00
docs fix(dev): lol readur2 -> readur 2025-07-13 18:06:53 +00:00
frontend Merge branch 'main' into feat/multiple-ocr-languages 2025-07-13 18:16:07 -07:00
migrations feat(client): show more fields for Documents 2025-07-10 21:02:15 +00:00
scripts fix(build): update `npm ci` to `npm install` 2025-06-22 22:27:05 +00:00
src fix(tests): resolve issue in compilation of tests due to multiple ocr languages 2025-07-13 17:26:06 +00:00
test_data fix(everything): wow, it runs 2025-06-12 00:05:43 +00:00
test_files feat(tests): add more test pdfs 2025-07-12 14:04:04 -07:00
tests fix(dev): lol readur2 -> readur 2025-07-13 18:06:53 +00:00
.env.example feat(server): make environment variables a first class citizen 2025-06-12 23:22:22 +00:00
.env.test feat(tests): more test suite tools 2025-06-17 14:54:59 +00:00
.gitignore feat(tests): resolve admin integration test issues 2025-06-22 17:28:45 +00:00
Cargo.lock Merge pull request #95 from readur/renovate/notify-8.x-lockfile 2025-07-13 11:52:26 -07:00
Cargo.toml fix(deps): update rust crate sysinfo to 0.36 2025-07-13 17:17:11 +00:00
Dockerfile feat(pdf): implement ocrmypdf to extract text from PDFs 2025-07-01 00:56:48 +00:00
Makefile feat(tests): more test suite tools 2025-06-17 14:54:59 +00:00
README.md feat(docs): update documentation for quite a few things 2025-07-11 19:55:18 +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.test.yml Merge pull request #18 from readur/renovate/node-22.x 2025-06-22 21:32:52 -07:00
docker-compose.yml chore(deps): update postgres docker tag to v17 2025-06-22 22:35:41 +00:00
fix_models_user.py fix(tests): resolve broken test utils 2025-07-04 00:31:53 +00:00
grafana-dashboard.json feat(metrics): add more prometheus metrics, and create grafana dashboard 2025-06-26 21:14:00 +00:00
migrate_tests.py fix(tests): resolve broken test utils 2025-07-04 00:31:53 +00:00
nginx.conf fix(dev): lol readur2 -> readur 2025-07-13 18:06:53 +00:00
renovate.json Update renovate.json 2025-06-17 12:12:13 -07: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 📄

A powerful, modern document management system built with Rust and React. Readur provides intelligent document processing with OCR capabilities, full-text search, and a beautiful web interface designed for 2026 tech standards.

Features

  • 🔐 Secure Authentication: JWT-based user authentication with bcrypt password hashing + OIDC/SSO support
  • 👥 User Management: Role-based access control with Admin and User roles
  • 📤 Smart File Upload: Drag-and-drop support for PDF, images, text files, and Office documents
  • 🔍 Advanced OCR: Automatic text extraction using Tesseract for searchable document content
  • 🔎 Powerful Search: PostgreSQL full-text search with multiple modes (simple, phrase, fuzzy, boolean)
  • 🔗 Multi-Source Sync: WebDAV, Local Folders, and S3-compatible storage integration
  • 🏷️ Labels & Organization: Comprehensive tagging system with color-coding and hierarchical structure
  • 👁️ Folder Monitoring: Non-destructive file watching with intelligent sync scheduling
  • 📊 Health Monitoring: Proactive source validation and system health tracking
  • 🔔 Notifications: Real-time alerts for sync events, OCR completion, and system status
  • 🎨 Modern UI: Beautiful React frontend with Material-UI components and responsive design
  • 🐳 Docker Ready: Complete containerization with production-ready multi-stage builds
  • High Performance: Rust backend for speed and reliability
  • 📊 Analytics Dashboard: Document statistics and processing status overview

🚀 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

🤝 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