ConvertX实战:十分钟部署自己的千种格式自托管文件转换服务

发布时间:2026/10/25 12:00:47

ConvertX实战:十分钟部署自己的千种格式自托管文件转换服务 ConvertX实战十分钟部署自己的千种格式自托管文件转换服务【免费下载链接】ConvertX Self-hosted online file converter. Supports 1000 formats ⚙️项目地址: https://gitcode.com/GitHub_Trending/co/ConvertX周五下午客户发来一批.mov素材而平台只收 mp4设计组还等着把一堆 PNG 压成 WebP。逐个拖进某个匿名在线转换网站文件到底去了哪台服务器心里没底——这就是我部署 ConvertX 的缘由一个自托管的在线文件转换工具一个容器装下 1000 种格式互转文件只在自己机器里流转。30 秒看懂它是什么一句话定位放在自己服务器上的在线文件转换器浏览器里上传、选格式、点转换、下载和用在线工具一样顺手但数据不出内网。一句话技术栈TypeScript Bun Elysia 写的 Web 服务底层挂接了 FFmpeg、ImageMagick、Pandoc 等 20 个转换引擎。它能接住哪些格式转换需求所有转换引擎的源码都在 src/converters/ 目录下每个引擎对应一个文件。按“你想干什么”看覆盖面大致如下你想做的事背后调用的引擎覆盖面输入→输出格式数视频音频互转mp4、mkv、mov、webm…FFmpeg约 472 → 约 199常见图片互转png、jpg、webp、tiff…ImageMagick245 → 183图片处理偏批量、偏多格式GraphicsMagick167 → 130图片与 HEIC/AVIF/WebP 等现代格式Vips45 → 23文档互转PDF、Word、Markdown、EPUB…Pandoc43 → 65Office 文档批量转换LibreOffice41 → 22电子书格式转换EPUB、MOBI…Calibre26 → 193D 模型格式互转Assimp77 → 23HEIF/HEIC 解码libheif2 → 4位图转矢量图Potrace / VTracer4 → 11 / 8 → 1Outlook .msg 邮件、.vcf 通讯录转 CSVmsgconvert / VCF 转换各 1 → 1完整清单见 README.md 的 Converters 表格。某个格式找不到对应引擎时它会在界面上明确提示“不支持”而不是给你一个坏文件。 最短路径跑起来一条 Docker 命令生产部署只需要一个服务。把下面这份最小配置存成docker-compose.ymlservices: convertx: image: ghcr.io/c4illin/convertx ports: - 3000:3000 volumes: - ./data:/app/data environment: - JWT_SECRET换成你自己的长随机字符串启动并验证docker compose up -d curl -I http://localhost:3000curl返回 200 即服务已就绪浏览器打开http://localhost:3000注册第一个账户即可开始用。两个常见的“第一次就踩中”的坑登录不了服务默认只接受 localhost 或 HTTPS。如果你是通过 HTTP 内网地址访问先设置HTTP_ALLOWEDtrue。提示 unable to open database file给挂载的数据目录补一下属主chown -R $USER:$USER ./data。仓库里的 compose.yaml 是开发调试用的完整示例所有环境变量注释都写在里面可对照参考。第一次上手照这个顺序做注册第一个账户。注意第一个注册的人直接“坐稳”管理位所以别把未配置好的服务直接暴露在公网——这是 README 专门提醒过的。上传文件在上传页拖入或点选支持一次加多个文件。选目标格式界面不会甩给你一整个格式库而是按“这个文件实际能转去哪”分组列出。比如传一个 PDF你会看到 vips、graphicsmagick 等可选目标搜索框支持直接输入格式名过滤。转换并查看状态多个文件会被分批处理单批并发上限由MAX_CONVERT_PROCESS控制默认 0 即不限制每个文件的处理结果会写入数据库随时可以在 History 页翻账。下载转换后的文件沿用原文件名、只改扩展名从界面直接拿走。提醒一句默认策略下文件只保留约 24 小时见下节别攒着不下载。多账户、密码保护是内置的JWT 签发登录态各账户的文件与历史互不可见团队共用一个实例没有问题。 什么时候才需要动环境变量全部环境变量都是可选的先跑起来再按下面的“触发条件”补配置即可遇到什么情况改哪个默认值想稳妥固定登录态避免重启后换 keyJWT_SECRET不设置则每次随机生成希望同事能自行注册账户ACCOUNT_REGISTRATIONfalse仅 HTTP 访问无 HTTPS 的内网场景HTTP_ALLOWEDfalse想给未登录访客直接开放使用自助终端式ALLOW_UNAUTHENTICATEDfalse磁盘上转换产物越攒越多AUTO_DELETE_EVERY_N_HOURS240 表示关闭清理一批大文件把机器打满MAX_CONVERT_PROCESS0不限制并发给 FFmpeg 加参数如 GPU 硬解、更快的编码预设FFMPEG_ARGS/FFMPEG_OUTPUT_ARGS空网站想挂在子路径下如/convert/WEBROOT空隐藏 History 页HIDE_HISTORYfalse日期显示语言LANGUAGEen完整列表见 README.md 的 Environment variables 一节。想读源码或加自己的转换器扩展路径很短每个引擎文件都导出convert转换函数和properties支持的 from/to 格式集合照着 src/converters/ffmpeg.ts 这类实现写一份再到 src/converters/main.ts 的注册表里登记即可。仓库里带 “converter request” 标签的 issue 被官方点名是 easiest 的上手贡献文档和清理类 PR 也欢迎。本地起开发环境需先装好 Bun 和 Gitgit clone https://gitcode.com/GitHub_Trending/co/ConvertX cd ConvertX bun install bun run dev收尾ConvertX 的价值一句话把“把文件拖进别人服务器”的转换习惯变成“自己内网里的一个按钮”。跑起来之后下一步很自然——把它接进团队现有流程比如批量转码脚本、电子书流水线或者为只有你们在用的内部格式写一个专属转换器。【免费下载链接】ConvertX Self-hosted online file converter. Supports 1000 formats ⚙️项目地址: https://gitcode.com/GitHub_Trending/co/ConvertX创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/26 2:24:35

基于微信小程序的阅读平台源码调试与实战指南

不少刚接触微信小程序项目的朋友,一听到“源码文档调试”这三个词,第一反应是东西拿到手就能跑。真做起来才发现,能跑通和能讲清楚、能演示、能过答辩完全是两码事。我手上这套“基于微信小程序的微信阅读平台”,就是一个典型的课…

2026/10/25 16:16:23

完整KTransformers昇腾NPU部署实战

完整KTransformers昇腾NPU部署实战 【免费下载链接】ktransformers A Flexible Framework for Experiencing Heterogeneous LLM Inference/Fine-tune Optimizations 项目地址: https://gitcode.com/GitHub_Trending/ktr/ktransformers 你手上有一张 Atlas 300I A2 昇腾N…

2026/10/25 2:57:18

STM32F407配合CubeMX与HAL库驱动AD9959多通道DDS详解

简介:这套工程面向使用STM32F407ZGT6微控制器、CubeMX配置工具与硬件抽象层驱动库开发射频信号发生器的嵌入式开发者。工程整合AD9959四通道直接数字频率合成器控制逻辑,覆盖时钟树配置、通用输入输出引脚初始化和寄存器写入流程,可快速实现输…

2026/10/26 5:16:04

Claude Sonnet 5.5深度解析:如何用降本50%的模型实现企业级生产落地

1. 项目概述:这不是一次简单的模型升级,而是一场成本与能力的再平衡“比 Opus 便宜一半,凭什么敢说‘逼近旗舰’”——这句话一出来,我就在好几个技术群看到有人截图转发,配文是“这标题太懂打工人了”。Opus 是 Anthr…

2026/10/26 5:16:04

RAG分块策略:提升大模型检索增强效率的关键技术

1. RAG技术入门:为什么分块策略是大模型检索增强的命门?第一次接触RAG(检索增强生成)时,我踩过一个典型的新手坑——把整本产品手册直接扔给大模型做知识库,结果每次查询都返回大段无关内容。直到某次技术分…

2026/10/26 5:16:04

腾讯Octop:面向开发者的Rust版AI Agent运行时框架

1. 这不是“重复造轮子”,而是腾讯在AI Agent赛道埋下的关键棋子最近刷到不少人在问:“腾讯已经有WorkBuddy了,为什么还要开源Octop?”——这个问题背后藏着一个普遍误解:把WorkBuddy和Octop简单看作“同功能竞品”。我…

2026/10/26 5:16:04

PatchTST:基于Transformer的时间序列预测新方法

1. PatchTST模型概述:时间序列预测的新范式PatchTST(Patch Time Series Transformer)是2023年提出的新型时间序列预测架构,其核心创新在于将计算机视觉领域的patch处理思想与Transformer模型相结合。我在实际气象预测项目中测试发…

2026/10/26 5:16:04

AI工程师职业转型:从技术到行业的进化之路

1. 项目概述作为一名在AI领域深耕8年的从业者,我经历了行业从萌芽到爆发的完整周期。2026年的今天,回望这段职业旅程,最值得分享的不是某个具体的技术突破,而是如何在快速迭代的AI浪潮中通过三次关键转型保持职业生命力。这个内容…

2026/10/26 5:11:04

NLP pipeline实战:核心任务、批处理性能与生产部署避坑指南

1. 先把 pipeline 这件事说透:它到底封装了什么很多人第一次接触 NLP 的时候,卡住的地方往往不是在模型原理,而是在前一公里:文本怎么变成模型吃得下的东西,模型吐出来的张量又怎么变回人能读懂的结果。pipeline这个入…

2026/10/26 0:20:20

全国计算机二级C语言真题PDF高效刷题指南

简介:这份PDF是全国计算机二级C语言考试的试题与答案解析,专为备考二级C语言的考生准备。内容涵盖C语言特点与设计理念、程序基本组成单位、main函数执行流程、函数嵌套调用规则、标识符命名规范、整型实型字符型数据类型、八进制十六进制数合法形式、运…

2026/10/26 1:53:47

requests+BeautifulSoup:爬虫抓取h1标题的入门实战指南

简介:一份以实战为导向的Python爬虫入门资源,面向具备基本编程基础、希望快速掌握网络数据抓取的初学者,可解决从零编写简单爬虫的常见困惑。实例以requests库发送HTTP请求、BeautifulSoup解析HTML文档,完整演示从网页中提取 标题…

2026/10/26 0:20:17

递推最小二乘参数辨识MATLAB编程:二阶系统与渐消记忆实现

简介:这是一篇面向控制系统、信号处理与机器学习等领域学习者的最小二乘参数辨识程序说明文档。资源共包含一个docx格式文档,压缩包大小七十八KB,内容围绕递推最小二乘算法和渐消记忆最小二乘算法展开:先构造一个极点位于单位圆内…

2026/10/26 0:00:48

Nested Learning:解决AI灾难性遗忘的分层记忆架构

1. 为什么AI需要"记忆"能力?在传统深度学习模型中,我们常遇到一个根本性问题:模型在处理新任务时,往往会完全遗忘之前学到的知识。这种现象被业界称为"灾难性遗忘"(Catastrophic Forgetting)。想象一下&#…

2026/10/26 0:00:48

企业级大模型应用:OCR预处理、Dify编排与DeepSeek落地实战

1. 这不是“用大模型”,而是重构工作流的起点“大模型的应用和工具”——这八个字现在被贴在无数技术分享、招聘JD、内部立项书的标题栏里,但绝大多数人点进去后看到的,是零散的API调用示例、几个开源UI截图、或者一句“接入LLM就能降本增效”…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑