善忘技术夹 Logo
善忘技术夹
善用佳软 AGPLv3 + 商业许可

一个 Docker 容器,替代 CloudConvert + Smallpdf + TinyPNG

一、处理一个文件,要切五六个网站

上周我需要做几件事:把一张 HEIC 照片转成 JPG,把一段 MOV 视频转成 MP4,把一份 PDF 合并,再把一段音频转成文字。

我打开了 TinyPNG(图片压缩)、CloudConvert(格式转换)、Smallpdf(PDF 操作)、Otter.ai(音频转录)——四个网站,四个账号,四个上传按钮。每个网站都问我要注册、要付费、要等排队。折腾了半个多小时,文件处理完了,但整个过程很碎片化。

更重要的是:这些文件都是工作文件,我上传到了我不完全信任的第三方服务器。

后来我发现了一个叫 SnapOtter 的项目,它把这四五个工具的功能整合到了一个 Docker 容器里,数据完全不出你的服务器。

SnapOtter 社交预览图 图:SnapOtter 文件处理平台界面预览(来源:GitHub 官方仓库)

二、SnapOtter 是什么?

SnapOtter 是一个开源自托管文件处理平台,GitHub 上已有 2.4k Star。

项目地址:https://github.com/snapotter-hq/snapotter

官网:https://snapotter.com

它的定位很直接:把你常用的在线文件处理工具(CloudConvert、Smallpdf、TinyPNG、TinyWow、Otter.ai)整合到一个自托管的平台里。一条 Docker 命令启动,200 多个工具,覆盖图片、视频、音频、PDF 和通用文件五种类型。

和在线工具相比,SnapOtter 的核心优势是数据不出网。文件上传到你自己的服务器,处理完之后留在你的服务器。你不需要担心隐私泄露,不需要担心文件被第三方保留。

三、200+ 工具,五种文件类型

SnapOtter 的工具数量不是虚标的。图片 107 个、视频 57 个、音频 27 个、PDF 29 个、通用文件 23 个,加起来 243 个。

图片(107 个工具)

resize、crop、compress、convert、watermark、color adjust、generate memes、vectorize、GIF 工具、duplicate detection、passport photos。支持 55+ 输入格式,包括 23 种相机 RAW 格式,17 种输出格式。HEIC 转 JPG、WebP 转 PNG、图片转 PDF 这些最常见的转换需求都覆盖了。

视频(57 个工具)

convert、compress、trim、resize、crop、merge、video-to-GIF、extract audio、stabilize、change FPS、burn/extract subtitles。MOV 转 MP4、MKV 转 MP4、MP4 转 MP3 等常见转换都有。

音频(27 个工具)

convert、trim、normalize、volume、fade、pitch shift、silence removal、noise reduction、merge/split。M4A 转 MP3、AAC 转 MP3、OGG 转 WAV。

PDF(29 个工具)

merge、split、compress、convert、protect/unlock、redact、sign、watermark、page numbers、OCR。PDF 转 JPG/PNG/TIFF 图片导出。

通用文件(23 个工具)

CSV/JSON/XML/YAML 转换、CSV merge/split、Excel to CSV、chart maker、ZIP create/extract。

四、不只是转换:本地 AI 能力

SnapOtter 最有意思的部分是本地 AI 处理。不需要调用云端 API,所有 AI 能力都在你的硬件上跑。

支持的 AI 功能:

  • 背景移除:AI 自动识别人物/物体并移除背景
  • 图片超分辨率:AI 放大图片,提升清晰度
  • 照片修复与上色:老照片修复、黑白照片上色
  • 物体擦除:AI 识别并移除图片中不需要的元素
  • 人脸模糊/增强:保护隐私或提升人脸清晰度
  • OCR:从图片和 PDF 中提取文字,默认引擎约 25MB,可选更高精度包
  • 音频转录:把音频转成文字,替代 Otter.ai
  • 视频字幕生成:自动为视频生成字幕
  • 画布扩展:AI 扩展图片边界

所有 AI 处理都在本地完成,不需要联网。NVIDIA GPU 加速可用,没有 GPU 就 fallback 到 CPU。

五、上线使用

部署

一条 Docker 命令:

docker run -d --name SnapOtter -p 1349:1349 -v SnapOtter-data:/data snapotter/snapotter:latest

容器内嵌了 Postgres 17 和 Redis 8,不需要额外配置数据库。启动后浏览器打开 http://localhost:1349,默认账号 admin / admin,首次登录强制改密码。

生产环境可以用 Docker Compose 部署,分离 Postgres 和 Redis 到独立容器,配持久化存储。

三种使用方式

Web UI:浏览器打开,拖入文件,选工具,点处理。和在线工具的使用体验一样,但数据留在本地。

REST API/api/docs 有交互式文档,可以直接调用。适合集成到自己的 workflow 里。

Pipeline:最多 20 步串联成工作流,可以保存为 JSON 导入导出。比如”下载视频 → 转 MP4 → 提取音频 → 转录文字”这个流程,保存一次,以后一键执行。

六、适合谁?

适合你,如果:

  • 你经常用 CloudConvert、Smallpdf、TinyPNG 这类在线工具,但担心隐私
  • 你团队需要统一的文件处理入口
  • 你需要批量处理文件,不想一个个网站传
  • 你有 Docker 环境,想自建服务

可能不适合你,如果:

  • 你不会用 Docker——目前只提供 Docker 部署方式
  • 你需要特别小众的文件格式支持——200+ 工具覆盖广但不是万能的
  • 你需要极高并发——单容器方案适合中小团队,大规模场景需要自行扩展
  • 你的服务器没有 GPU——AI 功能在 CPU 上会很慢

七、写在最后

SnapOtter 解决的是一个很实际的问题:文件处理工具太分散了。

图片压缩去 TinyPNG,格式转换去 CloudConvert,PDF 操作去 Smallpdf,音频转录去 Otter.ai——每个工具一个网站,每个网站一个账号,每个账号可能都要付费。SnapOtter 把这些都整合到了一个 Docker 容器里,数据不出网,不用注册一堆账号。

它不是每个功能都做到极致,但胜在”一站式”。200+ 工具覆盖了日常 90% 的文件处理需求。如果你对隐私有要求,或者需要一个团队共享的文件处理平台,SnapOtter 值得部署试试。


项目信息


互动时间:你平时用什么工具处理文件?在线工具还是本地软件?评论区聊聊你的方案。

喜欢这款工具?关注「善忘技术夹」全媒体

扫描二维码关注微信公众号与小程序,获取更多高品质开源软件推荐与效率工具测试。

善忘技术夹 微信公众号宣传图
微信公众号 (扫码关注)
善忘技术夹 微信小程序宣传图
微信小程序 (扫码即用)