背景
很多的Markdown文档软件,图片插入是直接可以拖入的,可以不使用图床。但是当你用了 obsidian,发现如果没有图床的话,图片管理起来是比较麻烦的,如果直接放到本地文件夹,会乱糟糟的,以后如果挪动了位置,可能会找不到图了,到时折腾也麻烦,所以最好的方式还是使用图床。
平时在使用图床,会选择阿里 OSS,腾讯云 COS,SM.MS, Github,七牛云, 又拍云 等,他们一般都是公有云存储服务,今天要讲的主角Minio,可以做到私有,保证个人数据的绝对掌握。
那么什么是 Minio?
Minio是一个开源的对象存储服务器,可以在本地或云上部署。它兼容Amazon S3 API,因此可以与S3 API兼容的应用程序和工具无缝集成。Minio支持分布式模式,可以实现高可用性、高可扩展性和数据安全性。它还提供了强大的Web管理界面和CLI工具,使用户能够轻松地管理和操作存储桶、对象以及访问控制等方面的功能。
在 Obsidian 上如果拖动图片直接上传图床
在 Obsidian 的第三方插件中,找到image-auto-upload-plugin 插件进行安装, 然后进入设置页面,可以看多默认的上传器有Picgo(app) 和Picgo-Core, 如下图所示:

很幸运,Picgo 也是开源的。
接下来,我们安装Picgo,在以下地址下载最新版本,安装之后,可以配置一个阿里云 OSS。

在设置中设置一下Server 地址,端口号可以按自己的喜好设置。


现在再去 Obsidian 的插件配置中,配置一下地址。注意:后面路径上有/upload别忘了。

至此,如果你文档中所有的图片都打算存到阿里云 OSS,那么把图片直接拖入 Obsidian,就会自动上传到 阿里云OSS。

为啥要用 Minio?
如果你对数据安全很重视,不希望自己的图片发布到公有云存储,那么搭建一个私有云存储就挺有必要了。
安装Minio
MinIO | Code and downloads to create high performance object storage
以 MacOS 为例:
brew install minio/stable/minio
MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=password minio server /mnt/data --console-address ":9001"
这个命令会在终端常驻,如果关闭了终端,那么 MinIO 服务也会关闭,那么如何后台启动呢?可以用如下命令:
MINIO_ROOT_USER=admin MINIO_ROOT_PASSWORD=password nohup minio server /mnt/data --console-address ":9001" >/dev/null 2>&1 &
如果想杀死这个进程的话,可以这么做:
- 首先,使用以下命令查找 Minio 进程的 PID:
ps -ef | grep minio
您将看到类似以下的输出:
yourname 12345 1 0 09:00 ? 00:00:00 ./minio server /your/bucket/directory
在这个例子中,12345 是 Minio 进程的 PID。
2. 使用以下命令杀死该进程:
kill 12345
替换 12345 为您的 Minio 进程的 PID。
执行该命令后,Minio 服务将停止。如果您需要重新启动服务,请参考我在之前的回答中提供的命令。
下面继续进入正题:
然后在浏览器输入127.0.0.1:9000可以访问

用启动命令时候的用户名和密码登录

创建一个 Buckets

将 Access Policy 改为Public ,不然到时 Obsidian 里不能显示。

创建一个 Access Keys

在 Picgo上安装 minio 插件
在插件设置界面,输入 minio,可以在 npm 中找到下面两个插件,选择第一个安装

minio 插件的配置

保存,并且选为默认图床,之后再上传的图片会上传到 MinIO 中,具体可在127.0.0.1:9000中查看。
最后,如果有条件的话,要配置一个域名,域名可以MiniO迁移的时候,文档中所有的地址不会变哦。

回复 camelgeek 取消回复