低成本自建图床!永久免费替代七牛云,支持水印+压缩+私有部署,完美搭配PicGo!
上期介绍了七牛云免费图床的搭建方法及教程,但是七牛云随着你数据量的加大,仍旧可能会有一丢丢的流量费用,所以今天 再给大家带来一款可以在自己服务器上搭建的开源图床。该图床可以:
- 1. 可以自定义压缩图片
- 2. 可以自定义添加水印
- 3. 可以设置私有
- 4. 可以配置PigGo使用
一、项目介绍
GitHub原项目地址:https://github.com/icret/EasyImages2.0
Docker镜像地址:https://hub.docker.com/r/ddsderek/easyimage
搭建环境:
服务器:轻量服务器即可
域名:自备
其他环境:安装1panel 面板,安装docker compose环境
二、搭建教程
1、基础搭建
登录自己服务器搭建好的1panel面板,找到系统-文件 然后在上方选择自己想要存放项目的位置,创建或者导入docker-compose.ymal , 这是docker compose 的配置文件:
version: '3.8' # 兼容主流 Docker 版本,支持命名卷特性
# 定义命名卷(所有数据存储在这里,Docker 统一管理,安全且易迁移)
volumes:
easyimage_config: # 存储 EasyImage 配置文件(含系统设置、水印/压缩规则等)
easyimage_uploads: # 存储上传的图片文件(原始图、压缩后图)
services:
easyimage:
image: ddsderek/easyimage:latest # 官方指定镜像(最新稳定版)
container_name: easyimage # 容器名称,便于管理
restart: unless-stopped # 容器异常退出时自动重启
ports:
- "8087:80"# 端口映射:主机 8087 端口 → 容器 80 端口(可修改主机端口,如 8090:80)
environment:
- TZ=Asia/Shanghai # 时区配置(避免日志时间错乱,必填)
- PUID=1000# 运行容器的用户 ID(默认 1000,对应主机普通用户,避免权限问题)
- PGID=1000# 运行容器的用户组 ID(与 PUID 保持一致)
- DEBUG=false # 关闭调试模式(生产环境建议 false,排查问题时可设为 true)
volumes:
# 挂载命名卷到容器内对应目录
- easyimage_config:/app/web/config # 配置文件目录 → 命名卷
- easyimage_uploads:/app/web/i # 图片存储目录 → 命名卷
# 可选:添加健康检查(确保容器正常运行)
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:80"] # 检测容器内 80 端口是否可用
interval: 30s # 每 30 秒检查一次
timeout: 10s # 超时时间 10 秒
retries: 3 # 失败 3 次后判定容器不健康

点击终端,运行下方命令 即可拉取镜像(注意终端位置需要和docker-compose.ymal路径一致):
docker-compose up -d

安装完成后即可在容器中看到已经运行起来的easyimage项目,如果是在本地环境安装的,现在就可以直接用IP:自定设定的端口进行访问项目了,例如:127.0.0.1:8087 如果是在服务器中,则需要配置域名、反向代理等操作。

2、配置反向代理(如果没有域名,直接这一步即可,有域名则看 下面步骤3)
首先,在容器面板中我们可以看到刚才搭建的项目地址和端口是:0.0.0.0:8087
然后在1panel 面板中找到网站 – 创建网站 ,注意这里前提是安装OpenResty,一般进入这个页面没安装就会有提示。

选择 反向代理
在批量添加域名这里添加自己的服务器IP ,然后点击生成,下方内容会自动填充
代理地址 填入前面保存的地址和端口:0.0.0.0:8087
填写完成后点击确认 即可在网站列表中找到创建的网站

浏览器输入自己服务器IP,即可访问创建的网站,首此打开网站会有环境检测,根据提示操作即可

3、域名配置+反向代理+https
首先申请证书,在1panel面板中找到 网站-证书、申请SSL证书
输入自己要申请证书的域名,选择验证方式为 HTTP (支持自动续签免费证书)

如果域名解析没啥问题,那么证书就会申请成功,如果这里证书申请不成功,建议到域名服务商那边检查自己的域名解析
然后创建网站 – 反向代理
添加域名,点击生成,填写代理地址 ,选择自己申请的证书 ,点击确认,网站创建成功。

这里第一次打开网站 配置时,记得修改 网站域名的 https 、管理员的密码

安装完成后即可进行登录

至此,简单图床搭建完成。
三、图床其他
1、设置图床仅自己可以上传、预览
项目本身是个开源站,所以搭建完成后所有人都可以进行图片上传和预览,不满足我们的需求,因此需要关闭部分设置,使网站仅自己可用,别人无法登录和图片上传预览

关闭页面预览功能,避免别人打开网站看到你上传的图片

2、添加水印
可以给图片添加文字、图片水印

3、图片压缩
图片压缩,减轻服务器负担

四、配合PicGo 自动上传图片
如何下载安装配合PicGo 和 Typora 在编辑markdown时自动上传文件,请移步 这篇文章,或在本站自定搜索,这里只讲PicGo自定义图床
打开PicGo – 插件设置 在插件这里搜索并安装 web-uploader 1.1.0 安装插件
或者在github官方插件页面 https://github.com/PicGo/Awesome-PicGo 搜索 picgo-plugin-web-uploader 下载本地安装包在右侧箭头处导入本地安装包

打开图床网站 – 设置 找到 API调用地址 和 Token

开启图床API上传

在PicGo 自定义Web图床 中配置:
API地址: 输入自己的API调用地址
POST参数名:image
JSON路径:url
自定义Body: {“token”:”自己的token”}
点击保存后要设定为默认图床

之后上传图片即可将图片上传到自己搭建的图传地址,水印、压缩都有,而且只有自己管理员登录才可进行上传、预览,测试一下:

图传广场:

五、网站迁移、图片数据迁移
因为创建网站我们用了命名卷 存储数据 ,所有配置和图片都会保存在 easyimage_config
和 easyimage_uploads
卷中,迁移服务器时只需备份这两个卷即可。
备份命名卷(迁移前操作)
# 备份 easyimage_config 卷(配置文件)
docker run --rm -v easyimage_config:/source -v $(pwd):/backup alpine tar -czvf /backup/easyimage_config.tar.gz -C /source .
# 备份 easyimage_uploads 卷(图片文件)
docker run --rm -v easyimage_uploads:/source -v $(pwd):/backup alpine tar -czvf /backup/easyimage_uploads.tar.gz -C /source .
备份文件会生成在当前目录(easyimage_config.tar.gz
和 easyimage_uploads.tar.gz
),将这两个文件复制到新服务器。
恢复命名卷(新服务器操作)
- 1. 在新服务器上创建相同的
docker-compose.yml
文件(不要运行); - 2. 先创建空卷:
docker volume create easyimage_config
docker volume create easyimage_uploads - 3. 恢复备份数据:
# 恢复配置卷
docker run --rm -v easyimage_config:/target -v $(pwd):/backup alpine sh -c "tar -xzvf /backup/easyimage_config.tar.gz -C /target"
# 恢复图片卷
docker run --rm -v easyimage_uploads:/target -v $(pwd):/backup alpine sh -c "tar -xzvf /backup/easyimage_uploads.tar.gz -C /target" - 4. 启动容器:
docker compose up -d
,数据会完全保留。
延伸阅读:
低成本自建图床!永久免费替代七牛云,支持水印+压缩+私有部署,完美搭配PicGo!
上期介绍了七牛云免费图床的搭建方法及教程,但是七牛云随着你数据量的加大,仍旧可能会有一丢丢的流量费用,所以今天 再给大家...
在Linux环境中制作Windows启动盘
目前在市面上存在很多U盘启动制作工具。如老牌工具大白菜等、但是这些工具或多或少都带一点私活。我们又该如何制作纯U盘启动工...
前端必看:比 js 快几十倍的前端语言来了
当我们聊前端,第一反应肯定是 JavaScript。无论是操作 DOM、调用 API,还是开发复杂的应用,JS 一直是前...
一键自动化重装操作系统(Linux / Windows)
官方文档:https://netboot.xyz/docs亮点一键安装 Linux,支持 19 种常见发行版一键安装 W...
VMware ESXi 7.0和vCenter Server 7.0安装部署
组件介绍:1、VMware ESXi 7.0VMware ESXi 是 VMware 推出的一种裸金属虚拟化管理程序,可...