NAS 上跑 SnapOtter:50+ 图像工具 + 16 个 AI 修图,本地、免费、不上传
一句话前言
如果你只是想把几百张照片一次性压缩、给老照片上色、给商品图去背景,但又不想开 PS、不想装 Lightroom、更不想把图传到一个陌生在线网站——这篇文章就是为你写的。
今天要聊的 SnapOtter,是一个能跑在 NAS 里的全能图像处理平台。它在 GitHub 上开源(完全免费),一个 Docker 容器就能起,所有处理都在你自己的局域网里完成,图片从上传到出图,从来不出你家的网线。
我为什么折腾这个
我桌面上的图像处理工具堆了三层:
专业软件:Photoshop、Lightroom——功能全,但 80% 的需求(压缩、改尺寸、去背景)用起来很重,启动都要等半天。
在线网站——小图免费,稍微大一点就要充会员。最让我膈应的是:你把图传上去,等于把家庭照片、孩子成长照、证件原图全部交给一个陌生服务器。隐私风险是真实存在的。
小工具软件——每次下一个,用完卸,电脑里工具栏越塞越满。
NAS 给我提供了一个新选项:把图像处理做成一个常驻服务,浏览器打开就用,用完关掉,数据从头到尾都在我自己的硬盘里。
SnapOtter 就正好填这个坑。
SnapOtter 是什么

简单说,它是一个自托管的全能图像处理 Web 应用。官网给的功能清单我看完后归纳成 5 块:
1. 50+ 基础图像工具
调整大小、裁剪、压缩、格式转换(支持 55+ 输入格式,含 23 种相机 RAW)
加水印、调色、矢量化、生成 GIF、生成表情包
查重、生成证件照、制作 Web 图标(.ico)、PDF ↔ 图片互转
2. 16 个 AI 图像处理功能(纯本地推理)
背景移除
AI 放大(无损)
老照片修复 + 自动上色
物体擦除
人脸模糊 / 增强
OCR 文字识别
画布扩展(Outpainting)
修复透明度
3. PS 级在线编辑器
基于图层的浏览器编辑器,带画笔、形状、调整、滤镜、曲线、快捷键。不是阉割版——是正经的图层逻辑,日常修图完全够用,所有操作在你 NAS 本地完成,不占你电脑资源。
4. 自动化管道(Pipelines)
这个对 NAS 用户很关键:你可以把"去背景 → 调色 → 压缩 → 加水印"串成一条流水线,一次性处理几百张图。步骤可导入导出 JSON,适合做商品图、自媒体素材的批量生产。
5. 其他加分项
20 种语言 + RTL(从右到左)布局,中文原生支持
多架构:AMD64 + ARM64,Intel/Apple Silicon/树莓派/小盒子都能跑
单容器部署:没有 Redis、Postgres 这些外部依赖,NAS 资源紧张也扛得住
REST API + API Key:所有工具都能用 API 调用,可以和 NAS 上的其他自动化脚本对接
⚠️ 隐私说明:SnapOtter 默认会询问是否愿意发送匿名使用数据(只统计用了哪些功能、遇到什么错误,不含文件内容)。想完全关掉,部署时加一个环境变量
ANALYTICS_ENABLED=false就行。
部署前准备
硬件需求
CPU:任何主流 NAS CPU 都能跑基础工具;AI 功能需要一定的算力——Intel/AMD 现代 CPU 基本没问题,ARM 的要看具体型号(树莓派 5 也能跑,只是慢)
内存:基础工具 1-2 GB 够用;跑 AI 模型建议 4 GB+
硬盘:重点!AI 模型动辄几个 GB 起步,建议你给 SnapOtter 的数据目录预留至少 10-20 GB。这些模型默认下载到容器内,通过
-v挂载的目录持久化,后续重装不会丢
网络提醒
Docker 镜像拉取:如果你的 NAS 在国内,大概率需要自备镜像加速(阿里云、腾讯云、网易、DaoCloud 任选一个)
AI 模型下载:首启后需要在 Web 界面的"设置 → 插件"里手动下载模型,这部分是 SnapOtter 项目自己的服务器,走的 SnapOtter 官方地址,国内网络会慢甚至失败(等下我会说我的处理方式)
通用步骤
下面的部署以威联通(QNAP) Container Station为例。其他平台(群晖 DSM、极空间、飞牛 OS、绿联、Unraid、纯 Linux)思路完全一样,只是 UI 位置不同。我会在每个步骤里标出"如果是群晖/通用 Docker 怎么操作"。
部署步骤
步骤 1:创建数据目录
在 NAS 上为 SnapOtter 准备一个持久化目录,用来存配置、用户数据、下载好的 AI 模型。
威联通:在 Container 目录下新建 snapotter 文件夹 群晖:在 docker 目录下新建 snapotter 文件夹 通用 Linux:/opt/snapotter 或 /srv/snapotter,自己选
💡 这个目录对应容器内的
/data,重装容器时不要删这个目录,否则你下的 AI 模型会全部丢失,得重头下。
步骤 2:编写 docker-compose.yml
在你刚才创建的目录里新建 docker-compose.yml:
yaml
一键复制下方代码



