背景
很多的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迁移的时候,文档中所有的地址不会变哦。
发表回复