Douklar 4.0.0, 23 October 2026.A new CLI, douklar, and retry of unfinished objects from a finished S3 Batch job.Read the release notes

Douklar

Configuration and environment variables

The files Douklar reads and the environment variables an operator sets most often, with their defaults.

View as Markdown

./install.sh and ./scripts/env_wizard.sh write .env for you. This page lists what they write, so you can read or change it. After editing .env, run docker compose up -d: containers keep the environment they were created with until they are recreated.

Where state lives

WhatWhere
Mappingsconfig/simple-config.ini, generated into config/sync.yaml
App defaults, pluginsconfig/app.yaml
Image-check policyimage-checker-config.yaml
Runs, logs, audit, sessions, access mappingsPostgreSQL
Access keys, SSO sessions, provider keysEncrypted files under /app/.cache

Runtime and network

VariableDefaultWhat it does
APP_ENVlocallocal keeps local-network defaults; remote needs the hardened settings below
AUTH_MODErequiredzitadel, cognito, or none (local only)
ALLOWED_HOSTSrequired outside localHostnames the backend accepts, comma-separated
CORS_ALLOWED_ORIGINSrequired outside localAllowed browser origins; * is refused
ACCESS_MODElocal-only in local, authenticated outsideNetwork access policy
COOKIE_SECUREfalse in local, true outsideSession cookie secure flag
SESSION_TTL_SECONDS2592000Lifetime of a sign-in session
APP_ENCRYPTION_KEYemptyKey for encrypted credential storage; required outside local

Database

VariableDefaultWhat it does
APP_DB_PROVIDERlocal in local, generic outsidelocal, generic, rds or supabase
APP_DB_POSTGRES_DSNemptyThe PostgreSQL connection string
APP_DB_POSTGRES_SCHEMAdouklar_appSchema for the app's tables
APP_DB_POSTGRES_SECRET_ARNunsetSecrets Manager secret with the database user and password
APP_DB_POSTGRES_CONNECT_TIMEOUT5Seconds to wait for a database connection

More: Use an external PostgreSQL.

Sync and worker

VariableDefaultWhat it does
SYNC_JOB_TIMEOUT_SECONDS7200Longest a queued sync job may run
SYNC_ECR_MAX_CONCURRENCY4Upper bound for parallel ECR mappings
SYNC_S3_MAX_CONCURRENCY3Upper bound for parallel S3 mappings
SYNC_CODECOMMIT_MAX_CONCURRENCY3Upper bound for parallel CodeCommit mappings
SYNC_DYNAMODB_MAX_CONCURRENCY3Upper bound for parallel DynamoDB mappings
SYNC_S3_STAGING_RESERVE_BYTES1073741824Free space a relay S3 mapping leaves on the staging disk
DYNAMODB_SYNC_MAX_ITEMS250000Item ceiling for one DynamoDB table copy
SYNC_CODECOMMIT_PUSH_MODEmirrormirror or incremental
S3_BUCKET_CATALOG_CACHE_TTL_SECONDS900How long a cached bucket list stays fresh
SYNC_RUN_LOG_MAX_LINES5000Log lines kept per run
WORKER_POLL_INTERVAL_SECONDS1.0How often the worker looks for queued jobs

Each SYNC_<SERVICE>_CONCURRENCY variable fixes the number of parallel mappings for that service, within its maximum.

Sign-in

The ZITADEL_* and COGNITO_* variables are listed in Sign-in with ZITADEL or Cognito.

Keyboard shortcuts

g h
Home
g c
The console
g m
Use cases
g d
Docs
g r
Releases
/ or Ctrl K
Search the docs (on docs pages)
t
Switch light and dark
?
Show this list