Skip to content

Environment Variables

VariableDefaultDescription
IMGLIFE_CONFIGimglife.yamlPath to the configuration file
VariableDefaultDescription
IMGLIFE_LOG_FORMATjsonLog format: json or text
IMGLIFE_LOGLEVELwarnLog level: debug, info, warn, error
VariableDefaultDescription
IMGLIFE_SYNC_PARALLELISM4Number of concurrent sync operations
VariableDefaultDescription
IMGLIFE_RETRY_ATTEMPTS3Number of retry attempts per operation
IMGLIFE_RETRY_INITIAL_DELAY2sInitial backoff delay
IMGLIFE_RETRY_BACKOFF2Backoff multiplier (exponential)
IMGLIFE_RETRY_TIMEOUT60sTimeout per individual registry operation
IMGLIFE_IMAGE_TIMEOUT5mTimeout per image operation (sync/build/push)
VariableDefaultDescription
IMGLIFE_ALERT_CRITICAL_DAYS30Warn when EOL is within this many days
VariableDescription
GITLAB_TOKENGitLab Personal Access Token
GITEA_TOKENGitea access token
AWS_ACCESS_KEY_IDS3 access key
AWS_SECRET_ACCESS_KEYS3 secret key

Credentials follow the naming convention IMGLIFE_<NORM>_<TYPE> where <NORM> is the normalised hostname (uppercase, non-alphanumeric → _).

Variable patternDescription
IMGLIFE_<NORM>_USERNAMEUsername for the registry
IMGLIFE_<NORM>_PASSWORDPassword for the registry
IMGLIFE_<NORM>_TOKENBearer token (used as password with token username)
HostnameVariableExample
docker.ioIMGLIFE_DOCKER_IO_USERNAME / IMGLIFE_DOCKER_IO_PASSWORDDocker Hub credentials
quay.ioIMGLIFE_QUAY_IO_TOKENQuay.io robot token
ghcr.ioIMGLIFE_GHCR_IO_TOKENGitHub PAT
registry.example.comIMGLIFE_REGISTRY_EXAMPLE_COM_USERNAME / _PASSWORDCustom registry
registry:5000IMGLIFE_REGISTRY_5000_USERNAME / _PASSWORDLocal registry

If no IMGLIFE_* variable is found for a host, imglife falls back to ~/.docker/config.json.

Terminal window
# Enable readable logs in CI
export IMGLIFE_LOG_FORMAT=text
export IMGLIFE_LOGLEVEL=info
# Increase parallelism for large sync jobs
export IMGLIFE_SYNC_PARALLELISM=8
# Extend timeouts for slow networks
export IMGLIFE_IMAGE_TIMEOUT=10m
export IMGLIFE_RETRY_TIMEOUT=120s