typora+picgo core+minio自动上传图片
1. 在服务器上安装docker版本minio
创建/docker/minio文件夹
mkdir -p /docker/minio
在此文件夹创建docker-compose.yml
version: "3.5"
services:
minio:
image: quay.io/minio/minio:latest
container_name: minio
privileged: true
restart: always
ports:
# API接口访问端口
- 9000:9000
# Web管理访问端口
- 9001:9001
environment:
# Web管理用户名
MINIO_ROOT_USER: root
#Web管理密码
MINIO_ROOT_PASSWORD: Root123
volumes:
# 文件目录映射
- /docker/minio/data:/data
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
# 启动minio容器服务执行命令
# 必须指定固定端口:Web管理后台是动态端口 /data参数是容器内部数据目录
command: server /data --console-address ":9001"
启动minio
cd /docker/minio
docker-compose up -d
访问ip+9000进入minio控制台
在这里创建一个桶
再打开桶设置,将Access Policy改为Public
点击左侧菜单的Access Keys,新建一个Access Key,记下Access Key和Secret Key,后面设置picgo时要用到。到此minio的设置就完成了
2. 在windows上安装nvm
官网链接 https://nvm.uihtm.com/
这是node版本管理工具,自行下载安装吧
安装node和picgo core
nvm install 20
nvm use 20
npm install picgo -g
这里我没有用Typora的picgo core是因为他那个版本很低,而且有bug
安装picgo的minio插件
picgo install minio
picgo use plugins
设置picgo的minio配置
picgo set uploader
选择minio,回车
设置minio具体配置
bucket
:你刚才在minio上创建的桶名称
基础目录
:你想把上传的文件存到桶中的哪个目录
如:https://img.host.com
:你的服务器的域名(如果你用的不是80或443端口,你还需要接上具体端口)
同名文件
:保留两者,重复的文件会有一个特殊的后缀表示,在后面会有说明,不用担心文件名重复的问题
可以到picgo minio插件代码仓库查看更多使用教程
3. 设置Typora
如下图设置就行,注意我是自行使用npm安装的picgo,所以选择的是自定义命令
,不要选择PicGo-Core(command line)
设置好可以点击验证图片上传选项
按钮测试一下
这时候,你把图片拖拽的Typora的文档中,就会自动上传到minio了
查看minio存储情况
picgo会根据日期创建相应的文件夹,对于相同文件名的文件,picgo minio插件的命名规则是文件名_repeat_时间戳
对于端口问题,社区有人使用nginx代理,将80或443的请求转到minio的9000端口,这个自行尝试吧
4. 相关仓库
https://github.com/Molunerfinn/PicGo
https://github.com/Herbertzz/picgo-plugin-minio
https://github.com/PicGo/Awesome-PicGo