This guide covers the configuration options available for self-hosted CVAT deployments using Docker Compose.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/cvat-ai/cvat/llms.txt
Use this file to discover all available pages before exploring further.
Environment Variables
CVAT uses environment variables to configure various aspects of the application. These can be set in a.env file or directly in your docker-compose.override.yml.
Core Settings
Host and URL Configuration
CVAT_HOST: The hostname where CVAT will be accessible (default:localhost)CVAT_BASE_URL: Full base URL for CVAT (default:http://{CVAT_HOST}:8080)CVAT_VERSION: Docker image version to use (default:dev)
Database Configuration
cvat/settings/base.py:711 for the password file implementation.
Redis Configuration
CVAT uses two Redis instances: In-Memory Redis (session data, caching)ClickHouse (Analytics Database)
docker-compose.yml:31-36 and cvat/settings/base.py:701-709 for ClickHouse configuration.
Django Settings
Security
DJANGO_SECRET_KEY: Secret key for Django (auto-generated if not set)ALLOWED_HOSTS: Comma-separated list of allowed hostnames (default:localhost,127.0.0.1)
cvat/settings/base.py:36-38 for ALLOWED_HOSTS configuration.
Logging
cvat/settings/base.py:481-553 for logging configuration.
Application Settings
Analytics
cvat/settings/base.py:177-180.
Worker Configuration
docker-compose.yml:98 for the server and various worker containers.
Feature Flags
docker-compose.yml:97-101 and cvat/settings/base.py:756 for feature flag configurations.
File Processing
CVAT_CONCURRENT_CHUNK_PROCESSING: Number of chunks processed simultaneously (default:1)CVAT_LOG_IMPORT_ERRORS: Log import errors to file (default:false)
cvat/settings/base.py:549 and cvat/settings/base.py:759.
Health Checks
cvat/settings/base.py:788.
Serverless Functions (Nuclio)
cvat/settings/base.py:345-357 for Nuclio configuration.
Proxy Configuration
docker-compose.yml:18-19 for proxy settings.
Django Settings Files
CVAT uses multiple Django settings files located incvat/settings/:
base.py: Core settings (database, cache, authentication, logging)production.py: Production-specific settingsdevelopment.py: Development settingsemail_settings.py: Email configurationtesting.py: Test environment settings
Custom Settings Overlay
To customize Django settings without modifying core files:- Create a custom
settings.pyfile:
- Mount it in
docker-compose.override.yml:
Docker Compose Configuration
Volume Mounts
CVAT uses several Docker volumes defined indocker-compose.yml:421-428:
cvat_db: PostgreSQL database filescvat_data: Uploaded media and task datacvat_keys: Django secret key storagecvat_logs: Application logscvat_inmem_db: Redis in-memory datacvat_events_db: ClickHouse analytics datacvat_cache_db: Kvrocks on-disk cache
Service Configuration
Key services defined indocker-compose.yml:
cvat_server: Main Django application servercvat_ui: Frontend UI servercvat_db: PostgreSQL databasecvat_redis_inmem: Redis for sessions/cachecvat_redis_ondisk: Kvrocks for media cachecvat_clickhouse: ClickHouse for analyticscvat_vector: Log aggregationcvat_grafana: Analytics dashboardscvat_opa: Open Policy Agent for authorizationtraefik: Reverse proxy
cvat_worker_import: Data import operationscvat_worker_export: Data export operationscvat_worker_annotation: Auto-annotation taskscvat_worker_webhooks: Webhook deliverycvat_worker_quality_reports: Quality control reportscvat_worker_chunks: Video chunk processingcvat_worker_consensus: Consensus calculationscvat_worker_utils: Notifications and cleanup
docker-compose.yml:38-248 for detailed service configurations.
Override Configuration
Create adocker-compose.override.yml to customize your deployment:
Cache Configuration
Cache timeouts defined incvat/settings/base.py:566-580:
Time Zone
cvat/settings/base.py:417.
Additional Resources
- Django Settings Documentation
- Docker Compose File Reference
- Source code:
cvat/settings/base.py,docker-compose.yml