临时修图不想来回传文件?用极空间搭一个自己的 Photopea 网页入口
前言
临时修一张图时,我最怕的不是工具不够专业,而是流程越来越重:电脑上为了一个简单裁剪去装大型软件,手机 App 功能够不够又要临时试,网页工具虽然打开就能用,但文件要不要上传、处理过程走到哪里,自己未必一直清楚。如果手里只是普通图片,这些问题可能无所谓;但碰到证件、家庭照片、项目素材,我会更愿意先把修图入口放到自己长期在线的设备上,至少什么时候用、从哪里进、服务跑在哪台机器上都比较明确。尤其这种"偶尔会用,但真要用时又希望马上能打开"的工具,最怕每次都从下载安装到账号登录重新开始;对我来说,固定一个浏览器入口,反而比堆更多功能更有吸引力。
这次我把 Photopea 相关 Docker 镜像部署到极空间 NAS 上,通过 SSH 创建 /docker/Photopea 目录,拉取 registry.cn-guangzhou.aliyuncs.com/os_cmty/os_cmty:Photopea,再把容器 2887 端口映射到宿主机 2000。局域网里确认 http://极空间IP:2000 能打开图像编辑页面以后,再安装 cpolar,把 2000 Web 服务提供到公网,先验证随机地址,最后配置固定二级子域名 photoo。我更看重的是"浏览器能不能直接用、远程入口是否稳定",而不会因为服务跑在 NAS 上,就直接把"完全私有、零风险、体验等同桌面 Photoshop"一起当成已经验证完成。

1. 这次真正要解决的,不是"替代 Photoshop"
Photoshop 的确是很多设计、摄影和图像处理工作里的常见工具,图层、蒙版、路径、通道、调色、文字、修复等能力都很完整。
但这篇真正要做的事情并不是证明某个浏览器工具可以一比一替代 Photoshop,而是先解决一个更具体的问题:
能不能把一个浏览器里的图像编辑入口部署到自己的极空间上,需要时直接打开使用。
当前方案使用的是 Photopea 相关 Docker 镜像。
对于临时修图、简单合成、打开 PSD 或常见图片格式这类场景,浏览器入口会比较方便;至于能否覆盖某个专业 Photoshop 工作流,还要结合自己真正使用的功能判断。
所以我更愿意把这套方案定位成:
极空间上的浏览器修图工具,而不是"NAS 版完整 Photoshop"。
2. 先准备极空间的 SSH 和 Docker
2.1 SSH 连接极空间
先在极空间里开启【SSH 服务】,再通过 Windows PowerShell 或 Mac Terminal 登录:
shell
ssh root@IP
如果还没有配置 SSH,可以先按设备设置完成。

2.2 检查 Docker
执行:
shell
docker -v
systemctl status -v

当前步骤同时使用了:
docker -vsystemctl status -v
这里按现有技术内容保留。
确认 Docker 环境可以使用以后,再继续部署 Photopea。
3. 创建 Photopea 目录
执行:
shell
mkdir /docker/Photopea -p && cd /docker/Photopea

当前目录是:
/docker/Photopea
后面的镜像拉取和容器运行都在这套环境里继续。
4. 拉取当前使用的 Photopea 镜像
执行:
shell
docker pull registry.cn-guangzhou.aliyuncs.com/os_cmty/os_cmty:Photopea

当前镜像地址为:
registry.cn-guangzhou.aliyuncs.com/os_cmty/os_cmty:Photopea
这里不额外替换镜像源,也不自行改成其他 Photopea 镜像。
拉取完成以后,就可以继续创建容器。
5. 启动 Photopea 容器
执行:
shell
docker run -d --name Photopea -p 2000:2887 registry.cn-guangzhou.aliyuncs.com/os_cmty/os_cmty:Photopea

这条命令里需要记住几个参数:
- 容器名:
Photopea - 宿主机端口:
2000 - 容器端口:
2887 - 镜像:
registry.cn-guangzhou.aliyuncs.com/os_cmty/os_cmty:Photopea
也就是说,后面浏览器访问的是极空间上的:
2000
端口。
部署完成以后,在浏览器打开:
http://极空间IP:2000

页面能够正常出现以后,说明当前 Web 修图入口已经跑起来。
接下来就可以直接在页面里操作图片。

这一层真正验证的是:
极空间 Docker → Photopea 容器 → 2000:2887 → 浏览器访问。
6. 先把"自建"和"完全私有"分开理解
把图像编辑页面部署到自己的 NAS,最直接的变化是:
这个 Web 服务由自己的极空间运行。
这确实能让修图入口不再完全依赖外部在线工具。
但仅凭当前部署截图,还不足以进一步证明:
- 所有图片数据一定只留在本地;
- 页面运行过程中绝不访问任何第三方服务;
- 所有功能都能离线使用;
- 自建以后就天然不存在隐私风险。
所以我不会把"部署在 NAS 上"直接写成"完全私有"。
更稳妥的理解是:运行入口和容器环境由自己管理,具体文件处理路径和外部依赖,还要结合实际部署方式继续判断。
这也是我更愿意自建的原因------不是先下一个"绝对安全"的结论,而是让自己多一些可检查、可控制的环节。
7. 局域网能修图以后,再考虑外网访问
前面已经可以通过:
http://极空间IP:2000
在家里的局域网中打开页面。
如果只在家里用,到这里其实已经够了。
但如果人在公司、出差,或者想从手机、iPad、笔记本等外部设备访问,就需要再给这个 Web 页面增加公网入口。
cpolar 在这里的职责很明确:
只把极空间上的 Photopea
2000Web 服务提供到公网。
图像编辑功能仍然由 Photopea 页面本身负责,cpolar 不参与图片处理。
当前材料里还写了"加密隧道、低延迟、高安全"等描述,但这次真正展示出来的是公网访问链路,因此这里只把已经操作到的部分写实,不把性能和安全结论扩大。
8. 在极空间安装 cpolar
执行当前安装命令:
shell
sudo curl https://get.cpolar.sh | sh

安装完成以后检查服务状态:
shell
sudo systemctl status cpolar

服务正常以后,通过主机 IP + 9200 打开 cpolar Web 管理页面。
当前页面同时写了:
http://ip:9200
以及链接目标:
http://localhost:9200/
实际访问时,以当前设备真正能够打开的地址为准。

9. 给 Photopea 创建随机公网地址
进入【隧道管理 → 创建隧道】。
当前配置为:
- 隧道名称:
photo - 协议:
http - 本地地址:
2000 - 域名类型:随机域名
- 地区:
China Top

创建成功以后,进入在线隧道列表查看生成的公网地址。

再从其他电脑或移动设备访问。

页面能够正常打开。
这一层真正验证的是:
Photopea 2000 → cpolar 随机公网地址 → 外部浏览器。
10. 长期使用再配置固定二级子域名
随机地址适合先确认公网链路。
如果这个修图入口准备长期使用,再配置固定二级子域名会更方便。
进入预留页面。

选择保留二级子域名。
当前记录为:
- 地区:
china Top - 二级子域名:
photoo

然后回到【隧道管理 → 隧道列表】,找到要配置的隧道并点击编辑。

修改为:
- 域名类型:二级子域名
Sub Domain:填写已经保留成功的二级子域名- 地区:
China Top
点击更新。

更新以后,在线隧道列表中的随机公网地址会切换成固定二级子域名形式。

最后再从任意设备浏览器访问。

页面能够正常打开。
总结
这套部署对我来说最实用的地方,不是把极空间吹成"私人 Photoshop 工作站",而是多了一个固定的浏览器修图入口:家里直接用局域网,人在外面时再通过公网地址打开。
这次实际跑通的主线是:
极空间 SSH → Docker → /docker/Photopea → registry.cn-guangzhou.aliyuncs.com/os_cmty/os_cmty:Photopea → 2000:2887 → http://极空间IP:2000 → cpolar → 随机公网 → 固定二级子域名 photoo。
几个边界也需要分清:
- 当前真正验证的是 Photopea 相关容器能启动、页面能在浏览器中打开,并能通过公网地址访问;
- "完全私有、无需联网依赖、所有图片数据仅留本地"这类结论没有在当前步骤里继续验证,所以不把它们当成既定事实;
- 是否能够替代桌面 Photoshop,取决于具体工作流,不因为页面长得像专业编辑器就直接画等号;
- cpolar 只负责公网 Web 入口,不参与图片编辑;
- 固定二级子域名
photoo解决的是长期入口不变的问题。
如果只是偶尔裁图、改尺寸、做简单合成,这种浏览器入口已经很方便;如果是重度修图或专业设计,我仍然会先看自己最常用的功能是否都能满足。自建的意义不是强迫自己换工具,而是多一个随时能打开、运行环境由自己维护的选择。