paperless-ai Documentation

An automated document analyzer for Paperless-ngx using OpenAI API, Ollama, Deepseek-r1, Azure and all OpenAI API compatible Services to automatically...

5,643 stars JavaScript JavaScript 1 file Β· ~951 tokens #ai#automation#gemma#llama#mistral#ollama#paperless#paperless-ngx
RAW Doc

Docker & Self-Hosted Deployment Verified OCI

Deploy paperless-ai on any server, homelab, or cloud container platform.

1-Click Terminal Command
bash (docker run)
docker run -d --name paperless-ai --restart always clusterzx/paperless-ai
Configured Services & Ports
βš™οΈ paperless-ai
image: clusterzx/paperless-ai
πŸ”Œ Ports: 3000:${PAPERLESS_AI_PORT:-3000}
docker-compose.yml
yaml (docker-compose.yml)
services:
  paperless-ai:
    image: clusterzx/paperless-ai
    container_name: paperless-ai
    network_mode: bridge
    restart: unless-stopped
    cap_drop:
      - ALL
    security_opt:
      - no-new-privileges=true
    environment:
      - PUID=1000
      - PGID=1000
      - PAPERLESS_AI_PORT=${PAPERLESS_AI_PORT:-3000}
      - RAG_SERVICE_URL=http://localhost:8000
      - RAG_SERVICE_ENABLED=true
    ports:
      - "3000:${PAPERLESS_AI_PORT:-3000}"
    volumes:
      - paperless-ai_data:/app/data

volumes:
  paperless-ai_data:

πŸ“„ Paperless-AI




⚠️ IMPORTANT NOTICE:

This repo is currently not maintained. I appreciate all the efforts from the community pushing PRs and creating issues.
I'm currently rewriting the entire codebase with a more stable, up-to-date architecture. But I'm limited to evenings, and doing support here while also working on the rewrite just isn't feasible for me.
With the upcoming official AI integration in Paperless-ngx itself, I'm also not sure if I'll complete the rewrite or continue maintaining this repo at all.


Paperless-AI is an AI-powered extension for Paperless-ngx that brings automatic document classification, smart tagging, and semantic search using OpenAI-compatible APIs and Ollama.

It enables fully automated document workflows, contextual chat, and powerful customization β€” all via an intuitive web interface.

πŸ’‘ Just ask:
β€œWhen did I sign my rental agreement?”
β€œWhat was the amount of the last electricity bill?”
β€œWhich documents mention my health insurance?”

Powered by Retrieval-Augmented Generation (RAG), you can now search semantically across your full archive and get precise, natural language answers.


✨ Features

πŸ”„ Automated Document Processing

  • Detects new documents in Paperless-ngx automatically
  • Analyzes content using OpenAI API, Ollama, and other compatible backends
  • Assigns title, tags, document type, and correspondent
  • Built-in support for:
    • Ollama (Mistral, Llama, Phi-3, Gemma-2)
    • OpenAI
    • DeepSeek.ai
    • OpenRouter.ai
    • Perplexity.ai
    • Together.ai
    • LiteLLM
    • VLLM
    • Fastchat
    • Gemini (Google)
    • ...and more!

🧠 RAG-Based AI Chat

  • Natural language document search and Q&A
  • Understands full document context (not just keywords)
  • Semantic memory powered by your own data
  • Fast, intelligent, privacy-friendly document queries

βš™οΈ Manual Processing

  • Web interface for manual AI tagging
  • Useful when reviewing sensitive documents
  • Accessible via /manual

🧩 Smart Tagging & Rules

  • Define rules to limit which documents are processed
  • Disable prompts and apply tags automatically
  • Set custom output tags for tracked classification

πŸš€ Installation

⚠️ First-time install: Restart the container after completing setup (API keys, preferences) to build RAG index.
πŸ” Not required for updates.

πŸ“˜ Installation Wiki


🐳 Docker Support

  • Health monitoring and auto-restart
  • Persistent volumes and graceful shutdown
  • Works out of the box with minimal setup

πŸ”§ Local Development

bash
# Install dependencies
npm install

# Start development/test mode
npm run test

🧭 Roadmap Highlights

  • βœ… Multi-AI model support
  • βœ… Multilingual document analysis
  • βœ… Tag rules and filters
  • βœ… Integrated document chat with RAG
  • βœ… Responsive web interface

🀝 Contributing

We welcome PRs and contributions!

bash
# Fork, clone, then:
git checkout -b feature/YourFeature
# After changes:
git commit -m "Add YourFeature"
git push origin feature/YourFeature

Then open a Pull Request via GitHub.


πŸ†˜ Support & Community


πŸ“„ License

This project is licensed under the MIT License. See LICENSE for details.


πŸ™ Support Development