Overview
Docuvate combines a web app, API, and extraction service. This page covers operations, concepts, and self-hosting.
Quickstart with Docker Compose
- Clone the repository and copy
.env.exampleto.env. - Set secrets: BETTER_AUTH_SECRET (32+ characters), DOCUVATE_CONNECTOR_SECRETS_KEY.
- Run
docker compose up --buildat the repo root. Web on port 5173, API on 3001. - Register the first user in the web UI and upload a test document.
Concepts
Documents
Each file has status, preview, extracted text, and metadata. Bytes live in MinIO; metadata in PostgreSQL.
Labels
Free-form tags with colors. Recommendations suggest assignments; you accept or ignore them.
Folders
Hierarchical filing (filesystem). Documents may appear in multiple folders.
Recognized fields
Settings define which fields to look for. Suggestions appear with a confidence hint.
Chat
Per-document conversations. Choose how answers are generated in settings.
Connections
Connections link sources such as S3 or mail. Credentials are stored encrypted.
Self-hosting configuration
Variables from `.env.example`. Values shown are local development defaults.
Database and cache
| Variable | Description |
|---|---|
DATABASE_URL | PostgreSQL connection for API and migrations. |
VALKEY_URL | Valkey (Redis-compatible) for queues and cache. |
Object storage
| Variable | Description |
|---|---|
MINIO_ENDPOINT | Hostname of the S3-compatible endpoint. |
MINIO_PORT | Port of the storage service. |
MINIO_ACCESS_KEY | Access key for buckets. |
MINIO_SECRET_KEY | Secret key for buckets. |
MINIO_BUCKET | Bucket name for document files (for example documents). |
Auth and web
| Variable | Description |
|---|---|
BETTER_AUTH_SECRET | Signing secret for sessions (long, random). |
BETTER_AUTH_URL | Public API URL for auth callbacks. |
WEB_ORIGIN | Allowed browser origin for CORS and cookies. |
VITE_API_URL | API base for the web app dev build. |
Extraction and chat
| Variable | Description |
|---|---|
WORKER_URL | Internal URL of the extraction service. |
WORKER_SECRET | Shared secret between API and extraction service. |
DOCUMENT_CHAT_PROVIDER | Chat backend for document Q&A. |
OLLAMA_URL | Optional endpoint for local language models. |
OLLAMA_MODEL | Optional model name for local answers. |
Service API and connections
| Variable | Description |
|---|---|
DOCUVATE_SERVICE_API_KEYS | JSON array with keyId, secret, tenantUserId, claims. |
DOCUVATE_CONNECTOR_SECRETS_KEY | AES key for connection secrets. |
DOCUVATE_GMAIL_OAUTH_CLIENT_ID | Optional for Gmail connection. |
DOCUVATE_OUTLOOK_OAUTH_CLIENT_ID | Optional for Outlook connection. |