Skip to main content
Chunkr can be deployed using Docker Compose with support for both GPU and CPU configurations. This guide covers the complete deployment process.

Prerequisites

Before deploying Chunkr, ensure you have:
  • Docker Engine 20.10 or later
  • Docker Compose V2
  • For GPU deployment: NVIDIA Docker runtime and compatible GPU
  • At least 16GB of RAM (32GB+ recommended for production)
  • Sufficient disk space for models and data storage

Quick Start

1

Clone the repository

2

Configure environment variables

Copy the example environment file and configure it:
See the Environment Variables page for detailed configuration options.
3

Start the services

4

Verify deployment

Check that all services are running:
Access the API at http://localhost:8000 and the web UI at http://localhost:5173.

Service Architecture

Chunkr deploys the following services:

Deployment Configurations

GPU Deployment (Default)

The default compose.yaml is optimized for GPU acceleration:
GPU deployment provides significantly faster inference times. See GPU Setup for configuration details.

CPU-Only Deployment

For environments without GPU support, use the CPU overlay:
The CPU configuration:
  • Reduces task workers from 30 to 10 replicas
  • Uses optimized CPU threading settings
  • Employs smaller model variants for OCR
  • Adjusts batch sizes for CPU performance
CPU deployment will be slower than GPU. Consider adjusting replica counts based on your CPU cores and workload.

Mac Deployment (Apple Silicon)

For Mac development environments:
This sets platform-specific settings for compatibility with Apple Silicon and Intel Macs.

Model Configuration

Chunkr uses a models.yaml file to configure LLM models. This file is mounted as a read-only volume:
Ensure your models.yaml file exists in the root directory before starting services.

Managing Services

View Logs

Restart Services

Stop Services

Update Services

Health Checks

Several services include health checks to ensure proper startup:
  • PostgreSQL: Checks database readiness every 10s
  • Redis: Pings Redis every 10s
  • MinIO: Checks storage health every 30s
  • Keycloak: Verifies auth service every 30s with 10-minute startup period

Persistent Data

The following volumes persist data across container restarts:
Always backup these volumes before running docker compose down -v.

Troubleshooting

Services won’t start

  1. Check Docker daemon is running
  2. Verify port availability (8000, 5173, 5432, 6379, 9000, 8080)
  3. Review logs: docker compose logs

Out of memory errors

  1. Reduce replica counts in compose.yaml
  2. Increase Docker memory limits
  3. Consider CPU-only deployment for lower memory usage

GPU not detected

  1. Verify NVIDIA Docker runtime: docker run --rm --gpus all nvidia/cuda:11.8.0-base-ubuntu22.04 nvidia-smi
  2. Check GPU configuration in GPU Setup
  3. Ensure drivers are properly installed

Next Steps