ConvertX Docker & Self-Hosted Deployment

GitHub

Self-hosted online file converter. Supports 1000+ formats โš™๏ธ

RAW Compose
1. Pull Image (DOCKERHUB) docker pull c4illin/convertx
2. Docker Run (1-Click Launch) docker run -d --name convertx -p 3000:3000 --restart always c4illin/convertx:latest
3. Podman Run podman run -d --name convertx -p 3000:3000 --restart always c4illin/convertx:latest
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/c4illin/convertx:latest
5. ORAS Pull (OCI Artifact) oras pull c4illin/convertx:latest
6. Compose Deployment docker compose up -d
compose.yaml
Download .yml
# This compose file is for development and testing purposes only. See README for production deployment instructions.

services:
  convertx:
    pull_policy: build
    build:
      context: .
      # dockerfile: Debian.Dockerfile
    volumes:
      - ./data:/app/data
    environment: # Defaults are listed below. All are optional.
      - PUID=1000 # user ID for file permissions, defaults to 0
      - PGID=1000 # group ID for file permissions, defaults to 0
      - UMASK=002 # file creation mask, defaults to 002 when PUID is set
      - ACCOUNT_REGISTRATION=true # true or false, doesn't matter for the first account (e.g. keep this to false if you only want one account)
      - JWT_SECRET=aLongAndSecretStringUsedToSignTheJSONWebToken1234 # will use randomUUID() by default
      - HTTP_ALLOWED=false # setting this to true is unsafe, only set this to true locally
      - ALLOW_UNAUTHENTICATED=false # allows anyone to use the service without logging in, only set this to true locally
      - AUTO_DELETE_EVERY_N_HOURS=1 # checks every n hours for files older then n hours and deletes them, set to 0 to disable
      # - FFMPEG_ARGS=-hwaccel vulkan # additional arguments to pass to ffmpeg
      # - WEBROOT=/convertx # the root path of the web interface, leave empty to disable
      # - HIDE_HISTORY=true # hides the history tab in the web interface, defaults to false
      - TZ=Europe/Stockholm # set your timezone, defaults to UTC
      # - UNAUTHENTICATED_USER_SHARING=true # for use with ALLOW_UNAUTHENTICATED=true to share history with all unauthenticated users / devices
    ports:
      - 3000:3000