工具链如下

  • 阿里云轻量服务器
  • 宝塔面板
  • Docker
  • MinIO
  • PicList
  • IMCompressor

1. 搭建Docker

使用宝塔快速搭建Docker,若没有安装宝塔则先安装一下宝塔

wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh 12f2c1d72

之后,安装好宝塔后,进入宝塔面板内,安装Docker

2. 安装MinIO

在线上镜像中搜索MinIO镜像,然后构建对应容器,并开启9001-->9001/tcp
9000-->9000/tcp两个端口映射,

MINIO_BROWSER_REDIRECT_URL对应的端口为控制台接口,MINIO_SERVER_URL对应端口是API使用。

在阿里云服务器防火墙中开放9000和9001端口

现在,可以通过域名/IP:控制台端口 的方式访问MinIO的控制台了

3. 配置MinIO

在MinIO的控制台输入创建时候的账号密码。就可以登录进去

登陆进去以后,创建我们的bucket输入名字点击Create Bucket即可。将Access Policy设置为Public,在Anonymous里将Access Rule设置为ReadWrite

接下来配置Access Keys,新建一个Key,并记录下Access Key和Secret Key

4. 设置反向代理实现域名访问

这里需要用到子域名,所以需要将域名解析设置“泛解析”,即添加解析域名为*.wblv66.top

在宝塔面板的网站中,添加反向代理

反向代理参数如下,域名是创建的子域名,目标与MINIO_SERVER_URL保持一致

在配置文件的自定义配置文件中添加

#禁用将“ HEAD”方法转换为“ GET”进行缓存。
proxy_cache_convert_head off;

5. 配置PicList

这里需要使用PicList来帮我们快速上传图片

安装完成后,点击图床->AWS S3,创建设置

  • 图床配置名:设置名称
  • 设定AccessKeyID:MinIO中的Access Key
  • 设定SecretAccessKey:MinIO中的Secret Key
  • 设定Bucket:MinIO中Bucket的名字
  • 设定上传路径:具体参考文档,简单可设为{fullName}
  • 设定自定义节点:填写子域名,https://minio.wblv66.top
  • 启用s3ForcePathStyle:MinIO需要设为yes

随后点击管理->S3兼容云

  • 配置别名:MinIO
  • accessKeyID:MinIO中的Access Key
  • secretAccessKey:MinIO中的Secret Key
  • endpoint:minio.wblv66.top
  • 使用HTTPS连接:设为yes
  • 启用S3 Path style:MinIO需要设为yes

在相册中将删除云端打开,实现云端图片同步删除

6. 下载IMCompressor

我们需要对图片进行压缩以提高图片加载速度,使用IMCompressor将图片压缩为AVIF格式,质量设置为75%


参考文章

最快速搭建个人服务器图床siuuuuu

【 MinIO + PicGo + Typora】 搭建个人图床参考,向“恶意刷流量”say no

通过宝塔建立MinIO服务并实现图床功能