xChar
·2 months ago

之前写markdown图片存在本地文件夹,时间一长就会造成文件夹十分臃肿,很多空间都是图片占了,同步起来很费时,而且传到在线平台时不会自动上传本地图片,还是要手动一张一张处理上传,但是如果存在云端,本地只要存一个url就可以预览,而且各个平台也能兼容,而不是显示一个毫无意义的本地路径。

于是我尝试将笔记的图片上传到云端,最好是粘贴的时候就可以自动上传。其实像我用的typoraobsidian都有这个功能,但是需要有OSS(对象存储),阿里云这些云厂商都有卖。但是,我有一台自己的服务器还花钱买OSS吗?

于是我就寻找开源的OSS平台搭建,然后就找到了minio,功能十分强大,并且使用docker搭建步骤十分简单。

1. 准备

首先需要有一台云服务器/VPS,阿里云腾讯云这些也行,没有的可以看我推荐国外性价比比较高的:https://www.stmoonar.me/?p=6

然后安装docker

curl -fsSL https://get.docker.com | bash -s docker

2. docker部署

接着创建一个目录用来存放minio的数据,可以根据自己需要选择放在哪:

mkdir -p ~/minio/data

这样就可以直接启动了容器了

docker run \
   -p 9000:9000 \
   -p 9001:9001 \
   --name minio \
   -v ~/minio/data:/data \
   -e "MINIO_ROOT_USER=ROOTNAME" \
   -e "MINIO_ROOT_PASSWORD=CHANGEME123" \
   quay.io/minio/minio server /data --console-address ":9001"

-p 9000:9000 -p 9001:9001 这是将容器端口映射到服务器端口,前一个是服务后台的端口,后一个是客户端也就是api接口访问的端口。

-v ~/minio/data:/data这个如果和你创建的目录不一样就改一下。

-e "MINIO\_ACCESS\_KEY=minioadmin" 用户名,-e "MINIO\_SECRET\_KEY=minioadmin" 密码,这两个地方自己手动修改一下。

3. 访问

上一步完成我们就可以直接访问了,使用ip:9000就可以进入后台,输入刚刚设置的用户名和密码登录。

image

登录之后创建Buckets、创建Access Keys这些操作就和普通的OSS后台差不多了,可以手动上传文件。

image

现在还需要在一个客户端软件(在这里是我们的markdown笔记软件)填写好这些配置就可以不用到浏览器来上传文件了。

4. 域名

现在返回的图片链接都是ip+port作为host,如果觉得难看想用自己的域名的话,就需要在nginx配置文件里面设置反向代理,将DNS解析来的域名代理到9001端口。

还可以进一步配置ssl证书,这样就可以使用https协议访问存储的文件了。

Loading comments...