全能文件转换利器ConvertX

简介

什么是 ConvertX ?

ConvertX 是一个自托管的在线文件转换器,支持超过一千种不同的文件格式。能为您提供一个私有的、完全可控的文件转换解决方案,让您无需将文件上传到第三方服务即可完成转换,有效保护数据隐私。

主要特点

  • 格式广泛:支持图片、音视频、文档等超过 1000 种文件格式之间的相互转换。
  • 批量处理:可以一次性处理多个文件,提高效率。
  • 安全私密:支持密码保护和多账户系统,完全自托管,保障数据安全。
  • 易于部署:提供 Docker 镜像,可通过简单的命令或 Docker Compose 快速部署。
  • 现代化界面:简洁直观的 Web 界面,易于上手。

应用场景

  • 个人用户在自己的NAS或服务器上搭建专属的文件转换服务。
  • 团队或企业内部共享一个安全、便捷的格式转换工具。
  • 需要频繁转换文件格式的设计师、视频编辑师或办公室职员。

ConvertX 利用了强大的库和工具,例如用于视频的 FFmpeg、用于文档的 Pandoc、用于图像的 GraphicsMagickVips,以及用于矢量图形的 Inkscape 等。这种广泛的兼容性使其成为需要转换媒体、文档、3D 资产等的用户的全面选择。

格式支持

以下是 ConvertX 支持的转换器及其用例、输入格式和输出格式

转换器 用例 输入格式 输出格式
Inkscape 向量图像 7 17
libjxl JPEG XL 11 11
resvg SVG 1 1
Vips 图像 45 23
libheif HEIF 2 4
XeLaTeX LaTeX 1 1
Calibre 电子书 26 19
LibreOffice 文档 41 22
Dasel 数据文件 5 4
Pandoc 文档 43 65
msgconvert Outlook 1 1
VCF to CSV 联系人 1 1
dvisvgm 向量图像 4 2
ImageMagick 图像 245 183
GraphicsMagick 图像 167 130
Assimp 3D 资产 77 23
FFmpeg 视频 ~472 ~199
Potrace 栅格到向量 4 11
VTracer 栅格到向量 8 1
Markitdown 文档 6 1

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 convertx ,选择第一个 c4illin/convertx,版本选择 latest

本文写作时, latest 版本对应为 v0.17.0

docker 文件夹中,创建一个新文件夹 convertx,并在其中建一个子文件夹 data

文件夹 装载路径 说明
docker/convertx/data /app/data 存放应用数据和数据库文件等

端口

本地端口不冲突就行,这里我们将容器的 3000 端口映射到本地的 3040

本地端口 容器端口
3455 3000

环境

可以根据需求添加环境变量进行配置。

变量 说明
JWT_SECRET your_long_and_secret_string 用于签署 JSON Web 令牌的密钥,建议设置为一个复杂的长字符串
HTTP_ALLOWED true 如果您通过非 HTTPS(例如 http://群晖IP:3455)访问,请设置此项为 true
LANGUAGE zh 格式化日期字符串的语言,指定为 IETF BCP 47 language tag 格式

更多的环境变量请参考官方文档:https://github.com/C4illin/ConvertX#environment-variables

命令行安装

如果您熟悉命令行,可以使用 docker clidocker-compose 更快捷地安装。

Docker CLI

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 新建文件夹 convertx 和 子目录
mkdir -p /volume1/docker/convertx/data

# 进入 convertx 目录
cd /volume1/docker/convertx

# 运行容器
docker run -d \
--name convertx \
--restart unless-stopped \
-p 3455:3000 \
-v $(pwd)/data:/app/data \
-e JWT_SECRET='aLongAndSecretStringUsedToSignTheJSONWebToken1234' \
-e HTTP_ALLOWED='true' \
-e LANGUAGE='zh' \
c4illin/convertx:latest

Docker Compose

将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
services:
convertx:
image: c4illin/convertx:latest
container_name: convertx
restart: unless-stopped
ports:
- "3455:3000"
volumes:
- ./data:/app/data
environment:
- JWT_SECRET=aLongAndSecretStringUsedToSignTheJSONWebToken1234 # will use randomUUID() if unset
- HTTP_ALLOWED=true # uncomment this if accessing it over a non-https connection
- LANGUAGE=zh

然后通过 SSH 登录到您的群晖,执行下面的命令:

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 convertx 和 子目录
mkdir -p /volume1/docker/convertx/data

# 进入 convertx 目录
cd /volume1/docker/convertx

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

部署成功后,在浏览器中输入 http://群晖IP:3455 就能看到注册界面,创建您的第一个账户后即可开始使用

登录成功后的主界面

  • 将要转换的文件拖入中间的区域
  • Search for conversions 中选择需要转换的目标格式

Convert 进行转换,可以直接查看或者下载

参考文档

C4illin/ConvertX: 💾 Self-hosted online file converter. Supports 1000+ formats ⚙️
地址:https://github.com/C4illin/ConvertX