Skip to content

Environment variables and build args

Environment variables

Variable Default Description
DJANGO_SECRET_KEY none (required) Django secret key. Compose refuses to start without it.
DJANGO_ALLOWED_HOSTS localhost,127.0.0.1 Allowed host names.
MES_DEFAULT_TOOL exiftool Tool that always runs first.
MES_TOOL_RULES_FILE config/tool_rules.yaml Local format rules. Relative paths resolve against the service directory. A missing file means no rules; an invalid file stops startup.
MES_FOOTER_TEXT empty Small plain text shown in the web UI footer.
MES_DOCS_URL empty URL of this documentation. When set, the web UI footer links to it.
MES_MAX_UPLOAD_BYTES 536870912 Largest accepted upload (413 above).
MES_MAX_FILES_PER_REQUEST 10 Most files in a batch (integer ≥ 1; invalid values stop startup).
MES_MAX_CONCURRENT_TOOLS 4 Tools run concurrently within one request (integer ≥ 1).
MES_ASYNC_ENABLED true Turns asynchronous processing on or off.
MES_ASYNC_MAX_WORKERS 2 Background threads running jobs (integer ≥ 1).
MES_ASYNC_MAX_JOBS 100 Jobs held at once; more get 503 (integer ≥ 1).
MES_JOB_TTL_SECONDS 86400 How long job data stays available (integer ≥ 1).
MES_JOB_STORE memory memory or redis. Anything else stops startup.
MES_REDIS_URL redis://redis:6379/0 in Compose, empty otherwise Redis URL, required when MES_JOB_STORE=redis.
MES_JOB_UPLOAD_DIR /var/lib/mes/uploads Directory for uploads while processed; created at startup, which fails if it is not writable. In development and tests it defaults to a directory under the system temp dir.
WEB_CONCURRENCY 1 Gunicorn worker processes. Must stay 1 with MES_JOB_STORE=memory.
GUNICORN_THREADS 4 Threads per worker process.
MES_FFIS_ENABLED false Call FFIS.
MES_FFIS_BASE_URL empty FFIS base URL.
MES_FFIS_TIMEOUT_SECONDS 30 FFIS call timeout.
MES_EXIFTOOL_ENABLED, MES_MEDIAINFO_ENABLED true Set to false to disable ExifTool or MediaInfo. Do not disable the tool named by MES_DEFAULT_TOOL: requests would fail.
MES_<TOOL>_ENABLED see Tools Enables an opt-in tool: FFPROBE, IMAGEMAGICK, METAFLAC, JHOVE, VERAPDF, FILE_SCRAPER, TIKA.
MES_<TOOL>_COMMAND tool name Binary path for EXIFTOOL, MEDIAINFO, FFPROBE, IMAGEMAGICK (identify), METAFLAC, JHOVE, VERAPDF, FILE_SCRAPER (scraper).
MES_VERAPDF_FEATURES technical-metadata list Comma-separated veraPDF --extract features. Default: informationDict,metadata,lowLevelInfo,page,font,iccProfile,colorSpace,outputIntent,embeddedFile,imageXobject.
MES_FILE_SCRAPER_SKIP_WELLFORMED false Adds --skip-wellformed-check to File Scraper.
MES_TIKA_URL http://tika:9998 Tika server URL.

Dockerfile build args

With docker compose there is no separate install setting: each local tool is installed in the image when its MES_<TOOL>_ENABLED is true (ExifTool and MediaInfo by default), and you rebuild after changing it. Compose passes this to the Dockerfile as INSTALL_<TOOL> build args (EXIFTOOL, MEDIAINFO, FFPROBE, IMAGEMAGICK, METAFLAC, JHOVE, VERAPDF, FILE_SCRAPER); set those directly only with plain docker build --build-arg. JHOVE and veraPDF are already included by File Scraper.

The remaining ARGs in service/Dockerfile (FILE_SCRAPER_REF, JHOVE_JAR_URL, VERAPDF_VERSION and so on) pin the versions of File Scraper's components.

See Enable optional tools.