Skip to content
ConfigurationStorage

Storage

Persist drydock state by mounting /store as a volume.

If you want the state to persist after the container removal, you need to mount /store as a volume.

Variables

Env varRequiredDescriptionSupported valuesDefault value when missing
DD_STORE_PATHDirectory where the database file is storeddirectory path/store
DD_STORE_FILEDatabase filenamefilenamedd.json
DD_DEFAULT_CACHE_MAX_ENTRIESShared default entry cap used by several in-memory caches when their specific cap is not setinteger (>0)500
DD_CONTAINERS_QUERY_CACHE_MAX_ENTRIESMax cached container-list query results retained in memoryinteger (>0)DD_DEFAULT_CACHE_MAX_ENTRIES (500)
DD_SECURITY_STATE_CACHE_TTL_MSTime-to-live for cached per-container security state used to survive short container recreation gapsinteger (>0)900000 (15 min)
DD_SECURITY_STATE_CACHE_MAX_ENTRIESMax cached per-container security-state entries retained in memoryinteger (>0)DD_DEFAULT_CACHE_MAX_ENTRIES (500)
DD_UPDATE_LIFECYCLE_CACHE_TTL_MSTime-to-live for cached update lifecycle timestamps used while a pending update candidate remains the sameinteger (>0)1800000 (30 min)
DD_UPDATE_LIFECYCLE_CACHE_MAX_ENTRIESMax cached update lifecycle entries retained in memoryinteger (>0)DD_DEFAULT_CACHE_MAX_ENTRIES (500)
DD_UPDATE_OPERATION_MAX_ENTRIESMax update/rollback operation records to retain (oldest pruned when exceeded)integer (>0)DD_DEFAULT_CACHE_MAX_ENTRIES (500)
DD_UPDATE_OPERATION_RETENTION_DAYSDays to retain update operation records before pruninginteger (>0)30
DD_UPDATE_OPERATION_ACTIVE_TTL_MSMaximum age (ms) an operation may remain in an active status (queued or in-progress) before it is terminalised to the non-notifying expired status. Applied at startup and during housekeeping to clear stuck operations left behind by an unclean shutdown; unlike failed, an expired operation emits no "update failed" notification.integer (>0)1800000 (30 min)

Examples

services:
  drydock:
    image: codeswhat/drydock
    ...
    volumes:
      - /path-on-my-host:/store
docker run \
  -v /path-on-my-host:/store \
  ...
  codeswhat/drydock

Downgrade Notes

The dd.json store written by v1.5.1 and later tolerates unknown fields, so a later v1.5.x store can usually be read after rolling back to another v1.5.1+ build.

Rolling back from v1.5.1 to v1.5.0 is the exception: v1.5.0 rejects fields added after it shipped. If you must roll back that far, stop Drydock first, back up /store/dd.json, then remove details.startedAt and image.softwareVersion from stored container records before starting v1.5.0.