On-Prem Installation
Deploy DocRouter on your servers (Docker Compose or Kubernetes) while connecting to managed cloud APIs for OCR, storage, email, and LLM inference.
Guides
| Guide | Description |
|---|---|
| Docker Compose Install | Single-host quick start |
| Kubernetes Install | Helm chart for production clusters |
| LLM Configuration | Provider API keys and model selection |
| AWS Configuration | S3, Textract, SES, Bedrock, IAM |
| GCP Configuration | Vertex AI Gemini and Mistral Vertex OCR |
| Azure Configuration | Microsoft Foundry service principal |
For licensing and source access, see Open Source.
Overview
DocRouter is a multi-service application that runs on your servers but calls out to managed cloud APIs for document OCR, object storage, email, and LLM inference.
Loading diagram...
Figure 1: On-prem installation architecture — customer infrastructure, AWS account, and optional third-party LLM APIs.
Typical on-prem stack
| Component | Where it runs | Notes |
|---|---|---|
| Frontend (Next.js) | Docker Compose / K8s | Port 3000 |
| Backend (FastAPI) | Docker Compose / K8s | Port 8000 |
| Workers | Docker Compose / K8s | OCR, LLMs, and flows (queue-based processing) |
| MongoDB | Embedded, Atlas, or DocumentDB | App state, encrypted credentials, login passwords |
| AWS | Customer AWS account | S3, Textract, SES (optional), Bedrock (optional) |
| Third-party LLM APIs | Vendor SaaS (optional) | OpenAI, Anthropic, Vertex AI & Gemini, Azure, etc. |
Credentials are stored encrypted in MongoDB (cloud_config for deployment-wide AWS/GCP/Azure; llm_providers for per-provider API keys; user login passwords). On first startup, values from .env are seeded into the database when admin bootstrap completes.
End-to-end checklist
Application platform
- Provision server or containers (Docker Compose or Kubernetes)
- Install MongoDB and set
MONGODB_URI - Set
ADMIN_EMAIL,ADMIN_PASSWORD,NEXTAUTH_SECRET,NEXTAUTH_URL - Deploy frontend, backend, worker, and reverse proxy (nginx)
- Confirm migrations ran and admin can log in
AWS
- Follow AWS Configuration: S3 bucket, IAM user/role, optional SES and Bedrock
- Put
AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY,AWS_S3_BUCKET_NAMEin.envor AWS setup UI
LLM
- Add API keys via
.envor LLM Manager — see LLM Configuration - (Optional) Enable Bedrock after AWS + model access
- (Optional) Complete GCP Vertex setup
- (Optional) Complete Azure Foundry setup
Validation
- Upload a PDF; confirm Textract OCR completes
- Run a prompt against your chosen model
- (Optional) Send a test email if using SES
- (Optional) Test Bedrock, Vertex, or Foundry from LLM Manager
Credential storage reference
| Credential | Storage | Admin UI |
|---|---|---|
| AWS keys + bucket | cloud_config type: "aws" |
Account → Development → AWS setup |
| GCP service account | cloud_config type: "gcp" |
Account → Development → GCP setup |
| Azure Foundry SP | cloud_config type: "azure" |
Account → Development → Azure setup |
| OpenAI, Mistral, etc. | llm_providers.token (encrypted) |
Account → Development → LLM Manager |
