返回
Featured image of post Typora搭配uPic使用minIO自建图床

Typora搭配uPic使用minIO自建图床

让Markdown文档目录变得更 `干净` ,也让文档易于分享和发布,我选择Typora + uPic + minIO的组合。

主要实现的功能

  1. 使用Typora作为编辑器
  2. 通过NAS自建图床来进行图片的存储和引用

Typora安装配置

Typora是一款非常优秀的Markdown编辑器,也是目前本人的主力编辑器,从官网下载Typora最新版本,进行安装,具体安装过程不再赘述。

创建笔记目录

本人比较推荐的做法是专门使用一个目录来存放笔记,这样也便于管理和后续的维护。

例如:

文稿 中创建目录 MyNotes (本人所有用例均在Mac上进行)

打开 Typora 点击 文件->打开... ( CMD+o)选择我们创建的 MyNotes 目录,所有笔记均在这个目录中进行管理,就像我们日常管理文件一样简单。

配置Typora的图片保存方式

Typora 打开 偏好设置 (CMD+,) ,选中 图像 标签,按下图进行设置。

image-20200505133945497
image-20200505133945497

根据提示可以下载uPic进行安装,安装完成后,我们稍后进行配置。

为什么使用uPic而不使用其他图床软件,主要也是因为该软件不但免费,还支持minIO。

使用minIO部署自己的图床

部署minIO的方式非常简单,登录到您的群晖,打开 docker ,在 注册表 中搜索 minIO ,选择 minio/minio 双击它,选择 latest 进行下载。

image-20200503221240054
image-20200503221240054

在下载完成后,在 映像 中可以看到已经下载好的镜像文件,双击它来配置容器。

image-20200503221808482
image-20200503221808482

容器名称随意,点击 高级设置

image-20200503221924093
image-20200503221924093

开启 启用自动重新启动 ,选择 标签。

添加文件夹 /docker/minIO/data (可以与我相同的方式进行新建,也可以根据自己的习惯创建),这个目录主要是用来存放我们的上传文件的,配置装载路径 /data

添加文件夹 /docker/minIO/config ,配置装载路径 /root/.minio (其中 . 千万不能漏)

image-20200503222546857
image-20200503222546857

选择 端口设置 设置本地端口为 9000 (当然其他端口也可以,这也是我们的访问端口,如果此处修改了,访问时就使用修改后的端口进行访问。

image-20200503222738012
image-20200503222738012

选择 环境 标签,填写 命令

/usr/bin/docker-entrypoint.sh server /data

image-20200503223104291
image-20200503223104291

点击 应用 回到创建容器步骤,点 下一步->应用 进行容器的创建,创建完成后容器很快就会完成启动并运行。

运行成功后,你可以通过 http://NAS的IP:9000 访问到minIO的登录页面,默认账号 minioadminminioadmin ,当然我们稍后会修改它。

通过 File Station 找到文件 docker/minIO/data/.minio.sys/config/config.json 文件,将它下载下来,用文本编辑器,如:Sublime 等打开(请勿使用系统自带的 文本编辑.app )。

找到其中的内容 credentials ,修改 access_keyvalue 为你自己想要的,譬如:adminabcdefg,修改其中 secret_keyvalue 为你自己想要的,譬如:ABCDEFG,最后变成如下(为了提高可读性,我这边对文件进行了格式化处理)

    "credentials": {
        "_": [
            {
                "key": "access_key",
                "value": "adminabcdefg"
            },
            {
                "key": "secret_key",
                "value": "ABCDEFG"
            }
        ]
    },

修改完成后,覆盖NAS上的 config.json 文件。

在NAS上重新打开 docker ,在容器中,找到 minio ,右键选择 操作->重新启动

image-20200503224505590
image-20200503224505590

重启完成后,重新登录 http://NAS的IP:9000 通过您自己设置的 access_key 和 secret_key 进行登录。

登录成功后,我们来创建一个 bucket,点击右下角的图标,在弹出菜单中点击第二个 Create bucket ,在弹出的对话框中输入bucket的名称,我这边创建了个 attachment 作为我存储笔记附件的bucket。

image-20200503224702185
image-20200503224702185

创建完成后,我们还需要进行一步操作,来给bucket分配权限。

在页面左侧的列表中找到我们刚刚创建的 attachment ,鼠标移动到此位置后,可以看到右边有个菜单选项,点击 Edit policy 进行配置。

image-20200503225031763
image-20200503225031763

在弹出窗口中 Prefix 位置填写 * ,将后方的 Read Only 改为 Read and Write ,点击 Add ,完成配置。

image-20200503225242939
image-20200503225242939

到此 minIO 的配置完成了。

配置uPic实现图片的自动上传

打开uPic,在导航栏中,点击uPic的图标,打开 偏好设置

image-20200503225641556
image-20200503225641556

添加 MinIO 并进行配置,配置相当简单,我自己出于管理方便的目的,使用的保存路径为:{year}/{month}/{day}-{random}{.suffix}

配置完成后,我们可以测试验证一下,点击验证,会自动上传一张图片到您的minIO中,可以刷新页面查看。

在uPic图标上点击,选择图床为 MinIO ,才能默认上传到该图床。

遗留问题

  1. OSS中附件的防盗链功能(初步考虑通过Nginx实现)
  2. 手机端笔记的查看(初步考虑通过Gitlab实现)
  3. 将笔记作为博客进行发布(目前正在使用Vuepress)