Configuration File
The document-api uses a YAML config file atdocker/document-api/config.yaml. Unlike the Go services, environment variables are not the primary configuration mechanism — settings are specified in YAML.
Required Settings
| YAML Key | Default | Description |
|---|---|---|
postgres.host | postgres | PostgreSQL host |
postgres.db | assistant_db | Database name |
postgres.auth.user | rapida_user | Database user |
postgres.auth.password | — | Database password |
elastic_search.host | opensearch | OpenSearch host |
celery.broker | redis://redis:6379/0 | Celery broker URL |
celery.backend | redis://redis:6379/0 | Celery result backend |
authentication_config.config.secret_key | rpd_pks | JWT signing secret — must match SECRET in all other services |
Tuning Settings
| Setting | Default | Description |
|---|---|---|
CHUNK_SIZE | 1000 | Characters per document chunk |
CHUNK_OVERLAP | 100 | Character overlap between adjacent chunks |
MAX_FILE_SIZE | 52428800 | Maximum upload size in bytes (50 MB) |
EMBEDDINGS_MODEL | all-MiniLM-L6-v2 | Sentence-transformers model name |
EMBEDDINGS_DIMENSION | 384 | Embedding vector dimension — must match the model |
CELERY_WORKERS | 4 | Number of Celery worker processes |
CELERY_CONCURRENCY | — | Per-worker concurrency (reduce to lower memory usage) |
EMBEDDINGS_BATCH_SIZE | — | Embedding batch size (8 = low memory, 64 = high throughput) |
RNNOISE_ENABLED | true | Enable audio noise reduction |
RNNOISE_LEVEL | 0.5 | Noise reduction level (0.0–1.0) |
Full Config File
Local Development Overrides
For local development, update thehost fields in config.yaml: