Docker Compose
services:
medialyze:
image: ghcr.io/frederikemmer/medialyze:latest
container_name: medialyze
ports:
- 8080:8080
environment:
# change to your timezone, e.g. "Europe/Berlin" or "America/New_York"
TZ: UTC
volumes:
- ./config:/config
# use .env or change "./media" to the path of your media directory
- ./media:/media:ro
# additional media mounts, if needed. Extend this pattern if needed:
# /PATH/TO/MEDIA1:/media/MEDIA1:roDocker run
docker run -d \
--name medialyze \
-p 8080:8080 \
-e TZ=UTC \
-v "$PWD/config:/config" \
-v "$PWD/media:/media:ro" \
ghcr.io/frederikemmer/medialyze:latestEnvironment variables
| Variable | Default value | Description |
|---|---|---|
MEDIALYZE_RUNTIME | server | Runtime mode, normally server for Docker |
CONFIG_PATH | /config | Writable config and database path |
MEDIA_ROOT | /media | Container root for mounted libraries |
APP_HOST | 0.0.0.0 | Backend bind host |
APP_PORT | 8080 | Internal HTTP port |
HOST_PORT | 8080 | Host HTTP port |
TZ | UTC | Timezone for logs and scheduled scans |
CONFIG_HOST_DIR | ./config | Host folder mounted to /config |
MEDIA_HOST_DIR | ./media | Host media folder mounted to /media |
DISABLE_DEFAULT_IGNORE_PATTERNS | false | Skip the built-in ignore patterns |
MEDIALYZE_TELEMETRY_DISABLED | false | Force telemetry off and lock the toggle |
MEDIALYZE_TELEMETRY_ENDPOINT | https://www.medialyze.app/api/telemetry/ingest | Telemetry ingest endpoint override |
FFPROBE_PATH | ffprobe | ffprobe binary path |
PUID / PGID | unset | Runtime user and group IDs |
APP_VERSION | image default | Local build version label |