10分钟搭建一个简单图床——Easyimage
项目介绍
- 支持多文件上传,简单无数据库,返回图片 url,markdown,bbscode,html 的一款图床程序。且支持 PicGo 部署。
- 官方 GitHub 仓库: https://github.com/icret/EasyImages2.0
- DockerHub 仓库: https://hub.docker.com/r/ddsderek/easyimage
- 官方演示 Demo 地址: https://png.cm
- 官方文档: https://icret.gitee.io/easyimages2.0/#/
特点:
- 支持 API
- 支持仅登录后上传
- 支持设置图片质量
- 支持压缩图片大小
- 支持文字 / 图片水印
- 支持设置图片指定宽 / 高
- 支持上传图片转换为指定格式
- 支持限制最低宽度 / 高度上传
- 支持上传其他文件格式
- 在线管理图片
- 支持网站统计
- 支持设置广告
- 支持图片鉴黄
- 支持自定义代码
- 支持上传 IP 黑白名单
- 支持上传日志 IP 定位
- 支持限制日上传次数
- 支持创建仅上传用户
- 对于安装环境要求极低
- 对于服务器性能要求极低
- 理论上支持所有常见格式
- 更多功能支持请安装尝试
搭建环境
- 服务器:甲骨文免费申请的VPS [CPU2 内存12G 硬盘100G ARM64架构]
- 系统:Ubuntu 12.04 ARM64
- 域名一枚,并做好解析到服务器上
- 安装好Docker、Docker-compose
- 【非必需本教程采用】安装好Nginx Proxy Manager
项目搭建
- 创建安装目录
1 | mkdir root/docker_data/easyimages |
- 进入安装目录创建
docker-compose.yml
文件
1 | cd /root/data/docker_data/easyimage |
- docker-compose.yml` 文件中写入以下信息:
1 | version: '3.3' |
- 运行 docker 镜像
1 | docker-compose up -d |
容器运行后使用 ip:8080
即可访问简单图床。如果不能访问,请查看防火墙是否放行该端口 (腾讯云,阿里云,华为云,甲骨文等服务器提供商需在控制台面板手动关闭防火墙并放行端口)。如果配置了反代,则通过域名就可以访问。
- 容器更新
1 | cd /root/data/docker_data/easyimage # 进入docker-compose所在的文件夹 |
利用Docker-compose搭建的应用,更新非常容易~
- 容器卸载
1 | sudo -i # 切换到root |
利用Docker-compose搭建的应用,删除也非常容易~
反向代理
- 域名解析到 npm 所在的服务器
- npm 和简单图床若不在同一个服务器,则填入简单图床所在服务器的 ip。若在同一个服务器,可以填服务器 ip 也可以填 docker 的内网 ip。
Nginx Proxy Manager(以下简称NPM)会用到80
、443
端口,所以本机不能占用(比如原来就有Nginx)
注意:不要开启 Block Common Exploits,否则会导致部分图片无法显示。
之后修改/root/data/docker_data/easyimage/config/config.php
里的内容,把domain
和imgurl
分别改成自己的域名。(如果你用Nginx或者宝塔做反向代理,也记得在这边修改,否则会出现奇怪的错误 = =)
使用教程
自己研究,看文档
参考资料
感谢
感谢@Derek 制作了Docker镜像,并一起调试了反向代理的错误
感谢@大官人制作了Easyimage,让我可以方便使用WebP
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 遇见一城!
评论