背景
最近用的这款笔记,方便倒是很方便,通过git插件能实现笔记的同步,但是图片都是在本地,也同步到github上去了,这本身没啥问题,但是如果我将md文件倒入到到我的博客,这就会有问题了。图片就会无法加载。这里我们就需要用到图床了。
前提
前提你需要一个域名和服务器。前段时间刷到个可以用cloudflare图床搭建的项目好像什么都不需要,感兴趣可以去看看。
https://linux.do/t/topic/251653
MarSeventh/CloudFlare-ImgBed: CloudFlare 图床,基于 CloudFlare Pages 和 Telegram Bot 的免费图片托管解决方案! (github.com)
从【白嫖大善人】基于Telegraph的CF免费图床有全新前端啦!!!(开源、清晰、美观、动画丝滑、玩法多样)
收集大家关于CF和TG BOT图床的意见,为下一步开发做准备
MinIO部署及解析
docker部署MinIO
最简单的方式就是通过docker部署啦。
创建一个文件夹下面放上面内容的 docker-compose.yml文件,并创建data和config目录用来外挂数据和配置。执行下面命令启动容器。MinIO就部署好啦。
接下来配置反向代理
域名解析
你可以将域名托管在 Cloudflare 上,或者通过阿里云等国内服务进行域名解析。我选择 Cloudflare 的原因是,它会在你服务器和外部访问之间加一层代理,隐藏真实 IP。如果服务器在境外,还能避免被墙的风险。
在我的配置中,我创建了两个解析记录:一个用于 MinIO 控制台访问(看板),另一个用于对外的 MinIO 文件访问,这样管理和使用更清晰。

域名解析
反向代理
我使用的是 1Panel 面板,配置反向代理比较简单。大致步骤如下:
操作路径:
网站 → 网站 → 创建网站 → 反向代理
然后依次填写:
- 域名:刚刚在 DNS 中解析好的二级域名
- 代理地址:MinIO 服务的访问地址
- SSL:如需 HTTPS,需要提前申请好证书
提交后即可完成反向代理配置。
需要注意两点:
- 域名端口:通常使用
80(HTTP)和443(HTTPS) - SSL 配置:开启 HTTPS 时必须先在 1Panel 里导入或申请证书
示例
以我的配置为例:
- MinIO 控制台域名:
minio.xxx.com- 代理地址:
http://127.0.0.1:9001
- 代理地址:
- 文件访问域名:
img.xxx.com- 代理地址:
http://127.0.0.1:9000
- 代理地址:
这样就实现了 MinIO 控制台和文件访问分别通过不同二级域名来访问,既清晰又方便管理。
PicGo 配置
下载PicGo
下载地址,从这个页面选择稳定的版本下载。 安装好之后,下载插件,选择 minio-custom 2.5.3

image.png
配置图床
在这个里面配置 endPoint,其余的正常填写即可,需要注意一下这里的,自定义域名也最好写一下,不然返回的地址会带一个443端口很不好看。 启用自动归档,这里会自动创建年月日的文件夹,方便查找。
对了,还需要在MinIO创建对于的Bucket,和accessKey,将Bucket设置为public

image.png
这里的到的AccessKey 和 SecreKey 填写到下面的配置里面

image.png

image.png
注意这个endPoint 不需要前面的https

image.png

image.png
Obsidian配置
下载插件

image.png
配置上传地址接口,这里的地址和PicGo里的核对一下是不是这个端口,正常来说不用改,直接就能使用,如果用不了报错,看看是不是缺了依赖,我用的是linux,缺少一个wl-clipboard的依赖。安装一下即可。
| 发行版 | 安装命令 |
|---|---|
| Fedora / Red Hat / CentOS | sudo dnf install wl-clipboard |
| Debian / Ubuntu | sudo apt install wl-clipboard |
| Arch Linux / Manjaro | sudo pacman -S wl-clipboard |

image.png
好啦,现在在Obsidian里面粘贴图片直接会到图床上了。