首页
/ ConvertX Docker部署教程:快速搭建个人文件转换服务器

ConvertX Docker部署教程:快速搭建个人文件转换服务器

2026-02-05 05:46:18作者:凌朦慧Richard

你还在为文件格式转换烦恼吗?寻找一个支持千种格式、完全掌控数据的解决方案?本文将带你5分钟内通过Docker快速搭建ConvertX个人文件转换服务器,无需复杂配置,即刻拥有安全高效的本地转换工具。

读完本文你将获得:

  • 从零部署ConvertX服务的完整步骤
  • 环境变量配置最佳实践
  • 多平台客户端访问指南
  • 常见问题解决方案

项目简介

ConvertX是一款开源自托管文件转换工具,支持超过1000种格式转换,涵盖文档、图片、音视频等多种类型。项目采用TypeScript开发,基于Bun和Elysia框架构建,提供直观的Web界面和强大的转换能力。

ConvertX

核心功能包括:

  • 多文件批量处理
  • 用户认证与权限管理
  • 700+格式支持
  • 转换历史记录
  • 数据本地化存储

支持的转换器列表可查看项目源码中的src/converters/目录,包含ImageMagick、FFmpeg、Pandoc等18种专业转换工具。

准备工作

系统要求

  • Docker Engine 20.10+
  • Docker Compose v2+
  • 至少2GB RAM(视频转换建议4GB+)
  • 10GB可用磁盘空间

安装Docker环境

如果尚未安装Docker,请根据你的操作系统选择以下方式:

Ubuntu/Debian:

sudo apt update && sudo apt install -y docker.io docker-compose-plugin
sudo systemctl enable --now docker

CentOS/RHEL:

sudo dnf install -y docker docker-compose-plugin
sudo systemctl enable --now docker

macOS/Windows: 推荐安装Docker Desktop,内置Docker Compose功能。

部署步骤

1. 获取项目代码

git clone https://gitcode.com/GitHub_Trending/co/ConvertX
cd ConvertX

2. 配置Docker Compose

项目提供了两种部署方式,推荐使用Docker Compose进行管理,配置文件位于compose.yaml

默认配置已足够日常使用,关键参数说明:

参数 默认值 说明
ports 3000:3000 端口映射,左侧为宿主机端口
volumes ./data:/app/data 数据持久化目录
JWT_SECRET 随机生成 用户认证密钥,建议手动设置
HTTP_ALLOWED false 是否允许HTTP访问(生产环境建议设为false)

如需自定义配置,可创建.env文件覆盖默认值:

JWT_SECRET=your_secure_random_string_here
TZ=Asia/Shanghai
AUTO_DELETE_EVERY_N_HOURS=48

3. 启动服务

使用Docker Compose启动服务:

docker compose up -d

首次启动会自动拉取镜像并创建容器,根据网络情况可能需要3-5分钟。可通过以下命令查看启动日志:

docker compose logs -f

当看到类似Server running on port 3000的输出时,表示服务已成功启动。

访问与使用

初始访问

在浏览器中输入http://服务器IP:3000,首次访问会要求创建管理员账户。

ConvertX界面预览

基本操作流程

  1. 注册账户:首次访问时创建管理员账户
  2. 上传文件:点击上传区域或拖拽文件至上传框
  3. 选择格式:根据文件类型选择目标格式
  4. 开始转换:点击"Convert"按钮
  5. 下载结果:转换完成后点击文件链接下载

高级配置

环境变量详解

项目支持多种环境变量配置,完整列表可参考README.md

变量名 用途 安全建议
JWT_SECRET 用户认证密钥 必须设置为强随机字符串
ACCOUNT_REGISTRATION 是否允许注册新用户 生产环境建议设为false
ALLOW_UNAUTHENTICATED 允许匿名使用 仅本地测试使用
AUTO_DELETE_EVERY_N_HOURS 自动清理旧文件 建议设置为24-48
FFMPEG_ARGS 额外FFmpeg参数 可添加-hwaccel auto启用硬件加速

修改环境变量后需重启容器生效:

docker compose down && docker compose up -d

反向代理配置

如需通过域名访问并启用HTTPS,可使用Nginx或Caddy作为反向代理。

Nginx示例配置

server {
    listen 80;
    server_name convertx.example.com;
    return 301 https://$host$request_uri;
}

server {
    listen 443 ssl;
    server_name convertx.example.com;
    
    ssl_certificate /path/to/cert.pem;
    ssl_certificate_key /path/to/key.pem;
    
    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

使用反向代理时,需在compose.yaml中添加环境变量:

environment:
  - HTTP_ALLOWED=false
  - WEBROOT=/

维护与更新

查看容器状态

docker compose ps

备份数据

数据存储在项目目录下的data文件夹,定期备份此目录即可:

tar -czf convertx_backup_$(date +%Y%m%d).tar.gz ./data

更新服务

# 获取最新代码
git pull

# 重建并启动容器
docker compose down
docker compose pull
docker compose up -d

常见问题解决

1. 无法访问服务

  • 检查容器是否运行:docker compose ps
  • 检查端口映射:netstat -tulpn | grep 3000
  • 检查防火墙设置:确保3000端口已开放

2. 转换失败

查看详细日志定位问题:

docker compose logs --tail=100 convertx

常见原因及解决办法:

  • 文件太大:调整上传限制
  • 格式不支持:查看支持的格式列表
  • 资源不足:增加容器内存限制

3. 忘记密码

删除数据目录中的用户数据库后重启服务:

rm data/users.db
docker compose restart

总结

通过Docker部署ConvertX仅需3个简单步骤,即可拥有功能强大的个人文件转换服务器。项目源码结构清晰,主要代码位于src/目录,包含Web界面、转换器集成和数据管理等模块。

推荐定期查看项目CHANGELOG.md获取更新信息,或参与GitHub Discussions与社区交流使用经验。

如果觉得这个项目对你有帮助,请给项目一个Star支持开发者!

提示:本文档基于ConvertX v0.14.1版本编写,不同版本间可能存在差异,请以官方文档为准。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
atomcodeatomcode
Claude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get Started
Rust
434
76
docsdocs
暂无描述
Dockerfile
690
4.46 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
407
326
pytorchpytorch
Ascend Extension for PyTorch
Python
547
671
kernelkernel
deepin linux kernel
C
28
16
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.59 K
925
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
955
930
communitycommunity
本项目是CANN开源社区的核心管理仓库,包含社区的治理章程、治理组织、通用操作指引及流程规范等基础信息
650
232
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
1.08 K
564
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
C
436
4.43 K