File conversion web UI compose example.
Educational example only. Review every volume path, port, and credential before you run this. Do not copy production secrets into your wiki or git repo.
_shared/.env for non-secrets, _shared/.secret for credentialsmkdir -p /path/to/docker/stacks/convertx
cd /path/to/docker/stacks/convertx
# paste compose.yaml below, then:
docker compose pull
docker compose up -d
---
services:
convertx:
image: ghcr.io/c4illin/convertx:latest
container_name: convertx
hostname: convertx
env_file:
- /path/to/docker/stacks/_shared/.env
- /path/to/docker/stacks/_shared/.secret
environment:
- ACCOUNT_REGISTRATION=false
- HTTP_ALLOWED=true
- ALLOW_UNAUTHENTICATED=true
# JWT_SECRET comes from _shared/.secret via env_file
- AUTO_DELETE_EVERY_N_HOURS=168
- FFMPEG_ARGS=-hwaccel auto
- LIBVA_DRIVER_NAME=iHD
- HIDE_HISTORY=false
- LANGUAGE=en
- UNAUTHENTICATED_USER_SHARING=false
- MAX_CONVERT_PROCESS=0
logging:
driver: json-file
options:
max-file: ${DOCKERLOGGING_MAXFILE:-10} # Max number of log files
max-size: ${DOCKERLOGGING_MAXSIZE:-200k} # Max file size
ports:
- 30013:3000
volumes:
- /path/to/docker/data/convertx:/app/data:rw
devices:
- /dev/dri:/dev/dri
restart: unless-stopped
_shared/.secret.