在线图片编辑器miniPaint
什么是 miniPaint ?
miniPaint是一个开源的在线图像编辑器,使用HTML5技术实现,无需购买、下载和安装软件,也不需要安装任何插件或过时的Flash即可使用。miniPaint直接在浏览器中运行。您可以创建图像、从剪贴板粘贴 (ctrl+v) 或从计算机上传(使用菜单或拖放)。不会将任何内容发送到任何服务器。一切都保留在您的浏览器中。
软件主要功能:
- 文件:打开图像、目录、
URL、数据URL,拖放,保存(PNG、JPG、BMP、WEBP、动画GIF、TIFF、JSON(图层数据),打印。 - 编辑:撤消、剪切、复制、粘贴、选择、从剪贴板粘贴。
- 图像:信息、
EXIF、裁剪、缩放、调整大小(Hermite采样、默认调整大小)、旋转、翻转、颜色校正(亮度、对比度、色调、饱和度、亮度)、自动调整颜色、网格、直方图、反相。 - 图层:多图层系统、差异、合并、平铺、支持透明度。
- 特效:黑白、模糊(盒状、高斯、堆叠、缩放)、鼓起/收缩、降噪、去色、抖动、点阵、边缘、浮雕、丰富、伽马、颗粒、灰度、热图、JPG压缩、马赛克、油画、棕褐色、锐化、反曝光、移轴、晕影、颜色振动、复古、蓝图、夜视、铅笔,还有
Instagram滤镜:1977、Aden、Clarendon、Gingham、Inkwell、Lo-fi、Toaster、Valencia、X-Pro II。 - 工具:铅笔、画刷、魔术棒、橡皮擦、填充、取色器、字母、裁剪、模糊、锐化、去色、克隆、边框、精灵、关键点、颜色缩放、替换颜色、恢复透明度、内容填充。
- 帮助:键盘快捷键、翻译。

官方提供了在线试用,地址:https://viliusle.github.io/miniPaint
构建镜像
如果你不想自己构建,可以跳过,直接阅读下一章节
官方没有提供 Docker 镜像,也没有在源码中找到 Dockerfile 文件,老苏后来是在 wiki 中找到的
源文件地址:https://github.com/viliusle/miniPaint/wiki/Docker/4edb045378d1d535bc19873d4492f519a0b99a31
1 | #Written by Ange Cesari |
接下来要修改根目录下的 webpack.config.js 文件,找到 devServer 代码块

增加 一行代码,跳过主机检查,好处是省事,坏处是不安全,建议不要暴露到公网运行
当设置为
'all'时,此选项将跳过主机检查。所以不建议这样做,因为不检查主机的应用程序容易受到DNS重新绑定攻击。
1 | allowedHosts: "all", |

构建镜像和容器运行的基本命令如下👇
1 | # 下载代码 |
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 minipaint ,下拉找到 wbsu2003/minipaint,版本选择 latest。

端口
本地端口不冲突就行,不确定的话可以用命令查一下
1 | # 查看端口占用 |
| 本地端口 | 容器端口 |
|---|---|
3584 |
8080 |

命令行安装
如果你熟悉命令行,可能用 docker cli 更快捷
1 | # 运行容器 |
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
1 | version: '3' |
然后执行下面的命令
1 | # 新建文件夹 minipaint |
运行
一般情况下,现在就可以在浏览器中输入 http://群晖IP:3584 进行访问了,但是 miniPaint 可能会有不同,在群晖上可能很大概率你会发现容器是停止状态,或者处于不断重启的状态

不要慌,进日志看看,是不是能找到下面👇这个错误?
Error: ENOSPC: System limit for number of file watchers reached

如果不是,那就只能具体情况具体分析了,如果是,请按照后面的步骤操作,以下操作需使用
ssh客户端连上群晖后,在命令行进行操作
这个错误的原因是指系统中的文件监视器数量达到了限制,可以通过执行以下命令检查当前 inotify 文件监视限制
1 | # 检查当前 inotify 文件监视限制 |

您可以通过以下方式临时设置新限制
1 | # 临时设置新限制 |

或者您可以设置永久限制
1 | # 可以设置永久限制 |

完成上面这些操作后,再次启动容器,在浏览器中输入 http://群晖IP:3584 就能看到主界面

设置中文
菜单栏中 Tools –> Language –> 简体中文

设置完成后,界面直接就变成了中文了

祝大家周末愉快~

参考文档
viliusle/miniPaint: online image editor
地址:https://github.com/viliusle/miniPaintminiPaint - image editor
地址:https://viliusle.github.io/miniPaint/Docker · viliusle/miniPaint Wiki
地址:https://github.com/viliusle/miniPaint/wiki/Docker/4edb045378d1d535bc19873d4492f519a0b99a31Run miniPaint - Browser Based Image Editor - in Docker - YouTube
地址:https://www.youtube.com/watch?v=hjjMTyJJz3cnode.js - Nodemon Error: “System limit for number of file watchers reached” - Stack Overflow
地址:https://stackoverflow.com/questions/53930305/nodemon-error-system-limit-for-number-of-file-watchers-reachedDevServer | webpack
地址:https://webpack.js.org/configuration/dev-server/