ConvertX
A self-hosted online file converter. Supports over a thousand different formats. Written with TypeScript, Bun and Elysia.
services:
convertx:
image: ghcr.io/c4illin/convertx
container_name: convertx
restart: unless-stopped
ports:
- "3800:3000"
environment:
- ACCOUNT_REGISTRATION=false
- ALLOW_UNAUTHENTICATED=true
- JWT_SECRET=aLongAndSecretStringUsedToSignTheJSONWebToken1234 # will use randomUUID() if unset
- HTTP_ALLOWED=true # uncomment this if accessing it over a non-https connection
volumes:
- /srv/Files/Convertx/data:/app/data
Environment variables
All are optional, JWT_SECRET is recommended to be set.
| Name | Default | Description |
|---|---|---|
| JWT_SECRET | when unset it will use the value from randomUUID() | A long and secret string used to sign the JSON Web Token |
| ACCOUNT_REGISTRATION | false | Allow users to register accounts |
| HTTP_ALLOWED | false | Allow HTTP connections, only set this to true locally |
| ALLOW_UNAUTHENTICATED | false | Allow unauthenticated users to use the service, only set this to true locally |
| AUTO_DELETE_EVERY_N_HOURS | 24 | Checks every n hours for files older then n hours and deletes them, set to 0 to disable |
| WEBROOT | The address to the root path setting this to "/convert" will serve the website on "example.com/convert/" | |
| FFMPEG_ARGS | Arguments to pass to the input file of ffmpeg, e.g. -hwaccel vaapi. See #190 for more info about hw-acceleration. |
|
| FFMPEG_OUTPUT_ARGS | Arguments to pass to the output of ffmpeg, e.g. -preset veryfast |
|
| HIDE_HISTORY | false | Hide the history page |
| LANGUAGE | en | Language to format date strings in, specified as a BCP 47 language tag |
| UNAUTHENTICATED_USER_SHARING | false | Shares conversion history between all unauthenticated users |
| MAX_CONVERT_PROCESS | 0 | Maximum number of concurrent conversion processes allowed. Set to 0 for unlimited. |
No comments to display
No comments to display