ConvertX
Self-hosted file converter web app for many document, image, audio and video formats.
- Replaces
-
Paid file conversion services, such as CloudConvert.
All open-source alternatives to CloudConvert
- Difficulty
-
Difficulty: Easy
1 service, 1 volume mount, no env values to set, no elevated host access. Heuristic score 0 of 11: easy.
- Stack
TypeScript (language)
- Deployment
docker_compose
- Requirements
Not stated.
- License
-
AGPL-3.0(OSI-approved open source) - Business model
-
Unknown
The README at the pinned commit does not state a business model, so it stays unknown.
Source: github.com/C4illin/ConvertX/blob/550f838/README.md, read on .
- Repository
GitHub stats
- Stars
- 19,184
- Forks
- 1,096
- Open issues and pull requests
- 117
- Last push
- 2026-10-22
- Latest release
- v0.19.0
- Released
- 2026-09-26
From the GitHub API on . These numbers are a snapshot, not live. GitHub detected the license as AGPL-3.0.
Compose file
# docker-compose.yml
services:
convertx:
image: ghcr.io/c4illin/convertx
container_name: convertx
restart: unless-stopped
ports:
- "3000:3000"
environment:
- PUID=1000 # user id for file permissions (should match your host user id)
- JWT_SECRET=aLongAndSecretStringUsedToSignTheJSONWebToken1234 # will use randomUUID() if unset
# - HTTP_ALLOWED=true # uncomment this if accessing it over a non-https connection
volumes:
- ./data:/app/data
From the app's own repository: github.com/C4illin/ConvertX/blob/550f838/README.md.
Compose example from the project's own docs: C4illin/ConvertX:README.md.
Install
- Docker with the Compose plugin (github.com/C4illin/ConvertX/blob/550f838/README.md#L62-L77)
A host with Docker and the Docker Compose plugin. This entry runs from a compose file.
- Save the code block as docker-compose.yml (github.com/C4illin/ConvertX/blob/550f838/README.md)
Use the compose file shown above.
- What the compose file check ran with (github.com/C4illin/ConvertX/blob/550f838/README.md#L62-L77)
This compose file is copied unchanged from the code block in https://github.com/C4illin/ConvertX/blob/550f83855bf75ab60a24eeaf3efb6ec924a84098/README.md#L62-L77. The check ran on that block alone. The README shows this docker-compose.yml in its Deployment section.
- Start it (github.com/C4illin/ConvertX/blob/550f838/README.md)
docker compose up -d - Open the app (github.com/C4illin/ConvertX/blob/550f838/README.md)
Open http://localhost:3000. The compose file publishes host port 3000 for the convertx service. The README says to visit this address and create an account.
Compose file check: config_ok on 2026-10-22.
Gotchas and maintenance
Gotchas
- Some images use the latest tag or no tag. Images without a pinned version: convertx: ghcr.io/c4illin/convertx (no tag). A later pull can get a different version. (github.com/C4illin/ConvertX/blob/550f838/README.md, checked 2026-10-22)
- The compose file publishes host ports. Host ports: 3000 (convertx). A port without a host address listens on all host network interfaces. (github.com/C4illin/ConvertX/blob/550f838/README.md, checked 2026-10-22)
- The compose file mounts host folders. Host paths mounted into containers: ./data at /app/data (convertx). (github.com/C4illin/ConvertX/blob/550f838/README.md, checked 2026-10-22)
Signals
- Open issues and pull requests: 117
- Last push: 2026-10-22 (0 days before this page was built)
- Latest release: v0.19.0 on 2026-09-26 (26 days before this page was built)