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 a23cb34fed Merge branch 'main' into feat/update-document-details-page 2025-07-09 18:40:43 -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 feat(client): update swagger ui endpoints 2025-07-01 19:00:29 +00:00
frontend Merge branch 'main' into feat/update-document-details-page 2025-07-08 19:42:44 -07:00
migrations fix(stats): create new get_queue_statistics function to avoid conflicts 2025-07-09 00:27:43 +00:00
scripts fix(build): update `npm ci` to `npm install` 2025-06-22 22:27:05 +00:00
src fix(tests): no way, all the integration tests pass now 2025-07-10 01:38:55 +00:00
test_data fix(everything): wow, it runs 2025-06-12 00:05:43 +00:00
tests fix(tests): no way, all the integration tests pass now 2025-07-10 01:38:55 +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(webdav): resolve failing etag unit tests 2025-07-05 19:47:21 +00:00
Cargo.toml feat(webdav): resolve failing etag unit tests 2025-07-05 19:47:21 +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): add more user facing docs, update README, and move dev docs to correct folder 2025-06-25 18:35:06 +00:00
create_test_pdfs.py feat(pdf): implement ocrmypdf to extract text from PDFs 2025-07-01 00:56:48 +00: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 feat(docs): clean up docs and make dev ex easier with variables 2025-06-13 23:21:45 +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
  • 📤 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 advanced filtering and ranking
  • 👁️ Folder Monitoring: Non-destructive file watching (unlike paperless-ngx, doesn't consume source files)
  • 🎨 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

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

📞 Support


Made with ❤️ and by the Readur team