ConvertX 自托管文件转换站:5分钟Docker部署,1000+格式随便转
【免费下载链接】ConvertX💾 Self-hosted online file converter. Supports 1000+ formats ⚙️项目地址: https://gitcode.com/GitHub_Trending/co/ConvertX
工作群里丢来一份 PDF,让你改成可编辑的 Word;同事发来 .tiff 图片,办公电脑打开全是乱码。这类转换用在线转换站做,就得把文件原样上传给第三方服务器,工作资料心里总不踏实。ConvertX 是一个自托管的在线文件转换器,部署在自己服务器上,浏览器里上传、选格式、下载,总共支持一千多种格式,文件从头到尾不离开自己的机器。
为什么选它,而不是在线转换站
- 文件不出内网:转换过程全部在本地容器里完成,不用把数据交给任何第三方站点,也不用担心文件被留存。
- 覆盖面广:内置 ImageMagick、FFmpeg、Pandoc、Calibre、Assimp 等二十来个转换引擎,合计支持一千多种格式,图片、视频、文档、电子书、3D 模型都能转。各引擎的接入逻辑集中在 src/converters/main.ts 中统一注册。
- 支持批量与多账户:一次可以丢多个文件进去转换;带密码保护和多账户功能,放在小团队里共用也没问题。
快速开始:Docker 5分钟部署
准备一台能跑 Docker 的机器(云服务器、NAS、家里的树莓派都行),写一个最小的 compose 文件:
services: convertx: image: ghcr.io/c4illin/convertx container_name: convertx restart: unless-stopped ports: - "3000:3000" environment: - JWT_SECRET=aLongAndSecretStringUsedToSignTheJSONWebToken1234 volumes: - ./data:/app/data启动命令一条:
docker compose up -d然后浏览器访问http://localhost:3000,按提示创建第一个账户。注意这个服务默认只允许 localhost 或 HTTPS 访问,第一个账户的权限最高(后续可以关掉注册),不要不设密码就直接暴露到公网。如果不想写 compose 文件,一行docker run -p 3000:3000 -v ./data:/app/data ghcr.io/c4illin/convertx也能跑。
实战走一遍:把 TIFF 图片转成 PNG
以转换一张 .tiff 图片为例,完整流程就 5 步:
- 用刚创建的账户登录,进入转换页面,把
photo.tiff拖进上传区。 - 上传后页面会显示文件名和大小,同时下方按转换器列出所有可选的目标格式,也可以直接在搜索框里输入
png快速定位。 - 点击选中
png,文件开始转换,此时这个任务会出现在 History(历史)页面里,状态从 pending 变为 completed。 - 回到转换页面,转换完成的文件旁会出现下载按钮,点击即可拿到
photo.png。 - 想批量处理时,重复第 1 步多拖几个文件进来即可,系统会逐个后台处理,互不影响。
深度定制:常用环境变量
所有环境变量都是可选的,配置项参考 compose.yaml 和 README.md。最常用的是下面几个:
| 名称 | 默认值 | 作用 |
|---|---|---|
JWT_SECRET | 随机 UUID | 用于签发登录凭据,建议换成自己的长字符串 |
HTTP_ALLOWED | false | 允许通过 HTTP 访问,仅限本地使用才开 |
AUTO_DELETE_EVERY_N_HOURS | 24 | 每隔 n 小时清理超过 n 小时的旧文件,设0关闭 |
FFMPEG_ARGS | 空 | 传给 FFmpeg 的额外参数,比如-hwaccel vaapi用硬件加速 |
MAX_CONVERT_PROCESS | 0 | 限制同时运行的转换进程数,0为不限制 |
常见问题:3个容易踩的坑
Q1:打开页面但登录不进去?
默认配置下,服务只认 localhost 或 HTTPS 连接。如果你是通过http://服务器IP:3000这种非 HTTPS 方式访问,就登不上。解决办法是设置HTTP_ALLOWED=true(官方提醒这只能用于本地环境),或者直接给它套一层 HTTPS 反代。
Q2:启动后报 unable to open database file?
这是data目录的权限问题。容器里的用户对你挂载的目录没有写权限,在宿主机上执行chown -R $USER:$USER ./data把目录归属改回当前用户,重启容器即可。
Q3:只想一个人用,怎么防止别人注册?
设置ACCOUNT_REGISTRATION=false关闭注册(默认就是 false)。第一个账户创建之后,后续没人能再注册进来,服务就变成单账户私享模式。
写在最后
ConvertX 适合有一台闲置服务器或 NAS、经常需要批量转换文档图片、又在意文件隐私的个人和小团队,部署完基本不用维护。如果你只是偶尔转个格式、又不想部署任何服务,直接用手机上的转换 App 更省事,这个项目对你就没什么必要。
【免费下载链接】ConvertX💾 Self-hosted online file converter. Supports 1000+ formats ⚙️项目地址: https://gitcode.com/GitHub_Trending/co/ConvertX
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考