中文文档 http://docs.minio.org.cn/docs/

Minio Docker 单节点单磁盘

https://docs.min.io/docs/minio-docker-quickstart-guide.html

单节点部署又分为单磁盘、多磁盘部署,这里不推荐使用单磁盘,因为minio的纠删码> 算法要求至少4块磁盘,否则应用不了纠删码,保证不了数据安全以及高可用。

  1. 本地持久化 Minio
1
mkdir -p ~/minio/data

-v /data/minio/data:/data \ 持久化数据文件到本地 /data/minio/data
-v /data/minio/config:/root/.minio \ 映射配置目录到本地 /data/minio/config,配置HTTPS需要
MINIO_ROOT_USER=用户名 / accessKey
MINIO_ROOT_PASSWORD=密码 / secretKey
MINIO_SERVER_URL=API 域名,通过 Web 管理域名登陆创建文件分享时会调用此API 域名
–console-address ‘0.0.0.0:9001’: Minio控制后台地址
–address ‘:9000’:Minio的API地址端口

** HTTP 方式,HTTPS 请看 HTTPS 章节 **

1
2
3
4
5
6
7
8
9
10
11
docker run -d \
-p 9000:9000 \
-p 9001:9001 \
--name minio1 \
-v /data/minio/data:/data \
-v /data/minio/config:/root/.minio \
-e "MINIO_ROOT_USER=用户名" \
-e "MINIO_ROOT_PASSWORD=密码" \
-e MINIO_SERVER_URL=http://minio.fungs.cn \
quay.io/minio/minio server /data \
--address ":9000" --console-address ":9001"
  1. docker ps -a 查看容器是否正常启动

启动完成后 访问 http://ip:9000 即可进入Minio

image-20220329225559637

Docker-compose 分布式节点

https://docs.min.io/docs/deploy-minio-on-docker-compose.html
前提条件为安装 docker-compose

  1. 下载 docker-compose.yaml 和 nginx.conf 到你喜欢的目录中
    1
    2
    3
    4
    # mkdir docker
    # cd docker
    wget https://github.com/minio/minio/blob/master/docs/orchestration/docker-compose/docker-compose.yaml?raw=true -O docker-compose.yaml
    wget https://github.com/minio/minio/blob/master/docs/orchestration/docker-compose/nginx.conf?raw=true -O nginx.conf
  2. 修改 docker-compose.yaml 配置

MINIO_ROOT_USER=用户名 / accessKey
MINIO_ROOT_PASSWORD=密码 / secretKey
MINIO_SERVER_URL=API 域名,通过 Web 管理域名登陆创建文件分享时会调用此API 域名

image-20220330014056006

  1. 执行安装

默认创建了 4 个 minio 分布式实例和 1 个 Nginx 服务器。您可以将更多 MinIO 服务(最多 16 个)添加到您的 MinIO Compose 部署中。

1
2
docker-compose pull
docker-compose up
  1. docker ps -a 查看容器是否正常启动
    启动完成后 访问 http://ip:9000 即可进入Minio

新建 Bucket 并设为公共访问

PS:如果部署的是单节点单磁盘Minio 提示以下内容,并不影响使用但会丢失高可用特性。如果需要可以使用 docker-compose 安装分布式节点

默认情况下新建的Buckets是私有权限,文件也可以直接分享带有效期的临时链接.如果需要当图床使用,可以将Buckets修改为公开权限,就可以直接用https://fungs.cn/test/abc.jpg当图床使用.

image-20220330012912194

设为公共访问 Public

image-20220330013131001

Nginx 反向代理

官方文档 http://docs.minio.org.cn/docs/master/setup-nginx-proxy-with-minio

标准的Root配置

在文件/etc/nginx/sites-enabled中添加下面的内容,同时删除同一个目录中现有的default文件。

1
2
3
4
5
6
7
8
server {
listen 80;
server_name example.com;
location / {
proxy_set_header Host $http_host;
proxy_pass http://localhost:9000;
}
}

非Root配置

注意:

  • 用你自己的服务名替换http://localhost:9000
  • 用所需的路径替换files。这不能是~^/minio,因为minio是minio中的保留字。
  • 所使用的路径(在本例中为files)按照惯例,应设置为minio所使用的存储桶的名称。
  • 可以通过添加更多类似于上面定义的location定义来访问其他存储桶。
1
2
3
4
5
 location ~^/files {
proxy_buffering off;
proxy_set_header Host $http_host;
proxy_pass http://localhost:9000;
}

宝塔面板

与非Root配置一样的

image-20220418220253866

保存即可使用 http://域名/桶名/图片路径访问

http://oss.fungs.cn/consult/images/380108996294367.png

HTTPS

acme 自动生成证书 (不支持), 请使用 RSA算法

申请腾讯免费 SSL 证书

image-20220418215758818

申请成功后下载 Nginx 证书

image-20220418215817610

image-20220418215834493

配置证书

minio.fungs.cn.key 重命名为 private.key
minio.fungs.cn_bundle.crt 重命名为 public.crt

private.keypublic.crt文件放在宿住机目录/data/minio/config/certs文件夹下

image-20220418215848083

重新启动 Minio

修改服务器地址为 https 重新安装

1
2
3
4
5
6
7
8
9
10
11
12
13
docker rm  -f minio1

docker run -d \
-p 9000:9000 \
-p 9001:9001 \
--name minio1 \
-v /data/minio/data:/data \
-v /data/minio/config:/root/.minio \
-e "MINIO_ROOT_USER=用户名" \
-e "MINIO_ROOT_PASSWORD=密码" \
-e MINIO_SERVER_URL=https://minio.fungs.cn \
quay.io/minio/minio server /data \
--address ":9000" --console-address ":9001"

PS:如果你设置了 Nginx 反向代理,需要将地址更换为 https

image-20220418215917182

PicGO

PicGo App

  1. 下载 PicGo
1
yay -S picgo-appimage
  1. 安装 minio 插件
    可以在 picgo 中安装
    1
    https://github.com/Herbertzz/picgo-plugin-minio
  2. 设置图床参数
    image-20220413121318965

测试上传即可

PicGO-Core

image-20230209092349035

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
{
"picBed": {
"uploader": "minio",
"current": "minio",
"minio": {
"endPoint": "minio.fungs.cn",
"port": "9000",
"useSSL": true,
"accessKey": "用户名",
"secretKey": "密码",
"bucket": "picture",
"sameNameFileProcessingMode": "覆盖",
"baseDir": "images/typora",
"customDomain": "https://minio.fungs.cn",
"isAutoArchive": false
},
"transformer": "path"
},
"picgoPlugins": {
"picgo-plugin-minio": true
}
}

PicGo-Cli

Linux 需要使用 Cli 工具,Windonws则不需要

1
sudo npm install -g picgo
  1. 设置图床信息
1
picgo set uploader
  • 设定仓库名:按照【用户名 / 图床仓库名】的格式填写
  • 设定分支名:【 main 】 2021年后 master 改为 main
  • 设定 Token:粘贴上述生成的【 Token 】
  • 指定存储路径:如【 images/ 】,这样就会在仓库下创建一个名为 images 的文件夹,图片将会储存在此文件夹中
  • 设定自定义域名:它的的作用是,在图片上传后,PicGo 会按照【 自定义域名 + 上传的图片名 】的方式生成访问链接,放到粘贴板上,
  1. 安装插件
1
picgo install minio
  1. 配置 minio 参数
1
picgo set uploader

image-20220330020543381

image-20220508112322393

  1. 选择默认图床
1
picgo use uploader

Typora

image-20220330020916960exec: Stderr already set