
!https://github.com/C4illin/ConvertX/raw/main/images/logo.png
https://github.com/C4illin/ConvertX/actions/workflows/docker-publish.yml/badge.svg?branch=main](https://github.com/C4illin/ConvertX/actions/workflows/docker-publish.yml) https://img.shields.io/badge/dynamic/json?logo=github&url=https%3A%2F%2Fipitio.github.io%2Fbackage%2FC4illin%2FConvertX%2Fconvertx.json&query=%24.downloads&label=ghcr.io%20pulls&cacheSeconds=***](https://github.com/C4illin/ConvertX/pkgs/container/ConvertX) https://img.shields.io/docker/pulls/c4illin/convertx?style=flat&logo=docker&label=dockerhub%20pulls&link=https%3A%2F%2Fhub.docker.com%2Frepository%2Fdocker%2Fc4illin%2Fconvertx%2Fgeneral](https://hub.docker.com/r/c4illin/convertx) !GitHub commits since latest release !GitHub repo size !Docker container size
ConvertX是一个自托管的在线文件转换工具,支持超过一千种不同的格式。使用TypeScript、Bun和Elysia开发,可部署在本地服务器或私有云环境中,为用户提供安全、高效的文件格式转换服务。
| 转换器 | 用途 | 转换来源格式数 | 转换目标格式数 |
|---|---|---|---|
| Inkscape | 矢量图像 | 7 | 17 |
| https://github.com/libjxl/libjxl | JPEG XL图像 | 11 | 11 |
| https://github.com/RazrFalcon/resvg | SVG图像 | 1 | 1 |
| https://github.com/libvips/libvips | 图像 | 45 | 23 |
| https://github.com/strukturag/libheif | HEIF图像 | 2 | 4 |
| XeLaTeX | LaTeX文档 | 1 | 1 |
| Calibre | 电子书 | 26 | 19 |
| LibreOffice | 文档 | 41 | 22 |
| https://github.com/TomWright/dasel | 数据文件 | 5 | 4 |
| Pandoc | 文档 | 43 | 65 |
| https://github.com/mvz/email-outlook-message-perl | Outlook邮件 | 1 | 1 |
| dvisvgm | 矢量图像 | 4 | 2 |
| ImageMagick | 图像 | 245 | 183 |
| GraphicsMagick | 图像 | 167 | 130 |
| https://github.com/assimp/assimp | 3D资源 | 77 | 23 |
| FFmpeg | 视频 | ~472 | ~199 |
| Potrace | 光栅图转矢量图 | 4 | 11 |
| https://github.com/visioncortex/vtracer | 光栅图转矢量图 | 8 | 1 |
注:FFmpeg支持的许多文件格式存在重复
ConvertX适用于以下场景:
个人用户:需要频繁转换各种文件格式的个人用户,如学生、研究人员、设计师等。
小型团队:团队内部需要共享和转换多种格式文件,如文档、图像、电子书等。
教育机构:学校或培训机构需要处理各种教育材料格式转换。
企业环境:企业内部文档管理系统的辅助工具,确保文档格式统一。
隐私敏感场景:处理包含敏感信息的文件转换,避免使用公共在线转换服务带来的隐私泄露风险。
[!WARNING] 如果无法登录,请确保通过localhost或https访问服务,否则需设置HTTP_ALLOWED=true
Docker Compose配置
yaml# docker-compose.yml services: convertx: image: ghcr.io/c4illin/convertx container_name: convertx restart: unless-stopped ports: - "3000:3000" environment: - JWT_SECRET=aLongAndSecretStringUsedToSignTheJSONWebToken1234 # 未设置时将使用randomUUID()生成 # - HTTP_ALLOWED=true # 如果通过非https连接访问,请取消此行注释 volumes: - ./data:/app/data
Docker Run命令
bashdocker run -p 3000:3000 -v ./data:/app/data ghcr.io/c4illin/convertx
部署完成后,访问http://localhost:3000创建账户。请勿将未配置的服务暴露在公网,因为任何人都可以注册第一个账户。
如果遇到"无法打开数据库文件"错误,请对您选择的路径运行chown -R $USER:$USER path命令。
所有环境变量均为可选,但建议设置JWT_SECRET以确保安全。
| 环境变量名称 | 默认值 | 描述 |
|---|---|---|
| JWT_SECRET | 未设置时使用randomUUID()生成的值 | 用于签署JSON Web Token的长秘密字符串 |
| ACCOUNT_REGISTRATION | false | 允许用户注册账户 |
| HTTP_ALLOWED | false | 允许HTTP连接,仅建议在本地环境设置为true |
| ALLOW_UNAUTHENTICATED | false | 允许未认证用户使用服务,仅建议在本地环境设置为true |
| AUTO_DELETE_EVERY_N_HOURS | 24 | 每n小时检查并删除超过n小时的文件,设为0可禁用自动删除功能 |
| WEBROOT | 网站根路径地址,设置为"/convert"将使网站在"example.com/convert/"路径下提供服务 | |
| FFMPEG_ARGS | 传递给ffmpeg的参数,例如:-preset veryfast | |
| HIDE_HISTORY | false | 隐藏历史记录页面 |
| LANGUAGE | en | 日期字符串格式化语言,使用BCP 47语言标签指定 |
| UNAUTHENTICATED_USER_SHARING | false | 在所有未认证用户之间共享转换历史 |
| MAX_CONVERT_PROCESS | 0 | 允许的最大并发转换进程数。设为0表示无限制。 |
提供latest标签(随每个发布更新)和main标签(随每次推送到主分支更新)。建议常规使用latest标签。
镜像可在https://github.com/C4illin/ConvertX/pkgs/container/ConvertX%E5%92%8Chttps://hub.docker.com/r/c4illin/convertx%E8%8E%B7%E5%8F%96%E3%80%82
| 镜像地址 | 说明 |
|---|---|
ghcr.io/c4illin/convertx | GitHub容器 registry 最新发布版 |
ghcr.io/c4illin/convertx:main | GitHub容器 registry 最新提交版 |
c4illin/convertx | Docker Hub 最新发布版 |
c4illin/convertx:main | Docker Hub 最新提交版 |
!Release image size !Dev image size
!https://github.com/C4illin/ConvertX/raw/main/images/preview.png
如有缺失的转换器支持,请提交issue或pull request!
开发指南:
bun install安装依赖bun run dev启动开发服务器欢迎提交pull request!可查看开放issue了解待办事项。标记为"converter request"的issue实现难度较低。文档改进和问题整理也非常欢迎!
提交信息请遵循conventional commits规范。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务