写在前面
首先做一个简单的介绍,Obsidian是一款出色的笔记软件,也是我长期以来一直用来记笔记和写博客的软件,非常好用
Easyimage是一个开源图床方案,可以托管在自己的服务器上
Picgo是一个用来将图片快速上传到指定图床并获取URL链接的工具
Obsidian提供了一个插件(Image auto upload)可以让我们在笔记中粘贴图片的时候将图片上传至指定的图床,并在笔记中替换为对应的Markdown图片链接,省去了在笔记中引用图片时的繁琐过程,可以说是相当方便了!
搭建并配置Easyimage
也可以使用其他图床方案或者是公共图床,我这里的话以Easyimage为例简单介绍一下自建图床
推荐使用docker部署,下面是要写入docker-compose.yml
文件中的内容,注意将两个volume中的左侧路径替换为自己想要设置的配置文件路径和数据路径
services:
easyimage:
image: ddsderek/easyimage:latest
container_name: easyimage
ports:
- '127.0.0.1:8082:80'
environment:
- TZ=Asia/Shanghai
- PUID=1000
- PGID=1000
volumes:
- '/docker/easyimage/config:/app/web/config'
- '/hdd/easyimage_data:/app/web/i'
restart: unless-stopped
然后执行docker-compose up -d
启动容器
准备一个域名,例如img.xxx.com
,并用certbot申请好SSL证书,这里就不再赘述
然后配置nginx反代,新建一个配置文件easyimage.conf
,写入以下内容,注意将域名和证书替换为自己的
server {
listen 80;
listen [::]:80;
server_name img.xxx.com;
return 301 https:$server_name$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name img.xxx.com;
ssl_certificate /etc/letsencrypt/live/img.xxx.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/img.xxx.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:8082;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded_For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
然后执行systemctl restart nginx
加载配置
访问https://img.xxx.com
就可以进入自建图床了,后面就按照要求创建管理员账户配置一下就好了,一些细节就不再赘述了
下面,为了配合Picgo使用,需要登录管理员账户,在设置-图床安全
选项里开启API上传
然后在设置-API设置
中找到API调用地址
并添加一个Token
安装Picgo
首先到这里(需魔法)下载并安装最新版Picgo
安装后,打开Picgo,在插件设置
中搜索web-uploader
,找到web-uploader 1.1.1
下载并安装
注:插件下载可能同样需要"魔法",如果无法安装,可以进入
PicGo设置
-设置代理和镜像地址
配置插件安装代理
然后找到图床设置-自定义Web图床
,新建一个配置,填入参数:
图床配置名:自己随便设置,例如,Easyimage
API地址:填写上一步在API设置中的API调用地址,例如,https://img.xxx.com/api/index.php
POST参数名:image
JSON路径:url
自定义请求头:可以留空
自定义Body:{“token”:“这里填写上一步中添加的Token”}
配置好后点击确定,并设置为默认图床就完成了
Obsidian插件配置
下面,我们要打开Obsidian,到设置-第三方插件-社区插件市场
中找到并安装Image auto upload
插件
开启插件
打开插件设置,确保开启剪切板自动上传,其他设置根据情况自行调整即可
新建一个笔记,粘贴图片测试一下,可以顺利上传并自动贴上Markdown图片链接