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
perf3ct b5e196a2be
fix(ci): also update database url for tests in ci
2025-07-21 21:07:47 +00:00
.github/workflows fix(ci): also update database url for tests in ci 2025-07-21 21:07:47 +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 feat(dev): let's just implement an entire error system while we're at it, since the tests are already broken 2025-07-20 03:38:13 +00:00
frontend fix(tests): hopefully fix the labels frontend unit test once and for all 2025-07-21 19:29:57 +00:00
migrations fix(migrations): resolve issue with latest migration and multi-language support 2025-07-18 19:30:51 +00:00
scripts fix(build): update `npm ci` to `npm install` 2025-06-22 22:27:05 +00:00
src fix(ocr): use proper failure reasons to avoid constraint violations in failed_documents table 2025-07-21 20:43:37 +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(tests): should really centralize these database URLs at some point 2025-07-21 20:38:48 +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 feat(dev): drop pdf_extract in favor of ocrmypdf 2025-07-15 14:50:17 +00:00
Cargo.toml feat(dev): drop pdf_extract in favor of ocrmypdf 2025-07-15 14:50:17 +00:00
Dockerfile feat(ocr): get rid of managing TESSDATA_PREFIX 2025-07-20 02:23:06 +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_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.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
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