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 98c0ec9df3
Merge pull request #41 from readur/feat/better-config-erroring
feat(server): implement better error for configuration issues
2025-06-25 13:58:35 -07:00
.github/workflows fix(helm): fix the helm release action 2025-06-24 23:18:35 +00:00
.woodpecker fix(ci): just building one container 2025-06-13 23:10:34 +00:00
charts/readur feat(helm): increment helm chart version 2025-06-25 19:08:41 +00:00
docs feat(docs): add more user facing docs, update README, and move dev docs to correct folder 2025-06-25 18:35:06 +00:00
frontend Merge pull request #13 from readur/renovate/vitejs-plugin-react-4.x 2025-06-24 16:49:07 -07:00
migrations feat(server/client): implement feature of ignoring already deleted files, and add failed OCR queue tests 2025-06-24 17:20:33 +00:00
scripts fix(build): update `npm ci` to `npm install` 2025-06-22 22:27:05 +00:00
src fix(server): resolve compilation issues due to increased logging 2025-06-25 20:00:09 +00:00
test_data fix(everything): wow, it runs 2025-06-12 00:05:43 +00:00
tests fix(tests): resolve change in error responses, so gotta fix unit test 2025-06-25 20:30:18 +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 #9 from readur/renovate/base64ct-1.x 2025-06-24 16:48:15 -07:00
Cargo.toml fix(deps): update rust crate base64ct to v1.8.0 2025-06-24 22:53:35 +00:00
Dockerfile Merge pull request #18 from readur/renovate/node-22.x 2025-06-22 21:32:52 -07:00
LABEL_TESTING.md feat(server/client): implement labels for documents 2025-06-18 16:12:42 +00:00
Makefile feat(tests): more test suite tools 2025-06-17 14:54:59 +00:00
README-E2E.md feat(e2e): add playwright for e2e tests 2025-06-17 20:10:04 +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
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
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
run_label_tests.sh feat(server/client): implement labels for documents 2025-06-18 16:12:42 +00:00
test_bulk_delete.rs feat(tests): resolve failing and ignored tests 2025-06-20 18:37:52 +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