思源笔记 docker 私有化 +alist 图床 + 七牛云 S3 备份方案分享

前言

由于我的教学笔记数量太多,笔记中的附件太大(存 S3,可能很费钱,网盘几十个 T 的存储不用白不用),跨端编辑需求也比较多(跨端数据冲突,难搞哦),因此选择了 docker 部署思源笔记,并通过 alist+ 百度网盘搭建图床存储,通过七牛云 S3 实现笔记备份。

写下此文,用于日后万一我忘了怎么操作了...

方案描述简略,适合有动手能力的玩家,仅供参考,有问题可以回帖,我会解答!

服务部署

准备一台服务器,并安装 1panel 服务器管理面板。

在 1panel 服务器管理面板中,安装 OpenResty、siyuan、alist。

iShot2024072400.47.45.png

准备一个域名,并解析两个子域名到服务器。

  • repository.xxx.com:用于绑定 alist。
  • docs.xxx.com:用于绑定 siyuan。

在 1panel 面板中,添加用于绑定 siyuan 的网站和用于绑定 alist 的网站,反向代理地址的端口号注意要和对应的服务端口一致。

iShot2024072400.50.52.png

iShot2024072400.51.58.png

修改 docs.xxx.com 网站配置,siyuan 服务还需要添加 ws 的反向代理。

iShot2024072400.53.52.png

到此,alist 和 siyuan 服务部署完成,可以分别通过两个域名访问到对应的服务。

iShot2024072400.55.26.png

iShot2024072400.56.00.png

AList 配置

登录 AList,添加百度网盘的存储,用于存放思源文档的图片附件。

iShot2024072400.57.48.png

iShot2024072401.00.21.png

在添加存储时,一定不要启用签名。

另外,在全局设置中,还需要禁用签名所有。

iShot2024072401.01.45.png

如果开启签名,所有的图片路径后面都会加上?sign=xxx,假设你以后换了一台服务器部署 AList 当图床,或者换一个网盘当图床,之前所有带有签名的路径都没办法访问了,关闭签名后就不会有这个问题。

签名的这个配置仅适用于开放图床,如果要在 AList 中添加其他的存储,一定要启用签名,防止文件被盗。

在 AList 用户管理中,为存放思源文档的图片附件的存储添加一个专用账号。

iShot2024072401.01.45.png

在 AList 中访问存放思源文档的图片附件的存储空间,这里面的图片都可以右键复制图像链接。

iShot2024072401.06.57.png

复制出来的链接格式是:repository.xxx.com/d/挂载路径/图片名称

如果这个链接可以被访问,就证明 AList+ 百度网盘搭建的图床完工了。

在思源笔记中,直接插入图片链接即可。

PicList

借助 PicList 这款软件,可以实现快速将图片上传到 AList 中,PicList 自行百度下载,支持 Windows/macOS。

iShot2024072401.25.11.png

PicList 配置完成后,如果能正常实现图片上传,就完工了。

以后笔记中的所有的图片都可以通过 PicList 上传到 AList+ 百度网盘并获取图片链接,再插入到笔记中了。

如果思源笔记有 PicList 插件就更好了 ~

设置工作空间

有网友问:docker 版本支持设置个人空间名称吗 - 链滴 (ld246.com)

在 1panel 的文件管理器中定位到 siyuan 服务的文件夹,在这个文件夹中,有一个 data 文件夹,里面放的就是当前工作空间中的所有的数据了。

可以参考我的:

将原本的工作空间中的所有文件全部复制到某一个文件夹,然后这个文件夹的名称就是你的工作空间的名称了。

iShot2024072401.14.22.png

文件夹名称修改完成后,还需要修改 siyuan 的 docker 容器配置。

挂载本机目录写:工作空间在服务器上的绝对路径。

容器目录写:/siyuan/workspace/工作空间的名称。

Command 里面的 workspace 路径也要改成容器目录。

iShot2024072401.16.07.png

修改完成后,重启 docker 服务即可。

七牛云 S3 备份

docker 思源也可以使用七牛云 S3 备份,网站内有很多分享,具体参考:【萌新教程】思源笔记使用七牛云 KODO 配置 S3 同步,超详细! - 链滴 (ld246.com)

另外怕数据丢失的,在服务器上还可以写个定时任务,定时提交到 git 上!

图片附件和数据分离的情况下,数据占不了多少东西,不管是备份到七牛云还是 git 上,基本不花钱。

思源笔记不推荐使用 WebDav 进行数据备份,不然甚至可以使用 AList+WebDav,都不需要七牛了 ~

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    23020 引用 • 92599 回帖
  • 教程
    143 引用 • 611 回帖 • 8 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • yalidabuda

    既然都用 1panel 了,何不部署一个图床容器 😂

    1 回复
  • 其他回帖
  • yalidabuda

    好吧,我的方案是计划任务备份 1panel 数据,不过确实没有 500g 这么多

  • 我说的不稳定是 alist 和百度网盘之间的链接,这是借助 api 不是官方本身的客户端,容易出现文件没有传百度网盘去或者文件损坏的情况,而不是没办法访问百度网盘。

    不过你这 500g 附件也太多了吧……难怪要用网盘 😂

    1 回复
  • 个人不建议使用 alist+ 第三方盘的方式构建图床,稳定性极差。还不如直接用 alist 的本地存储。

    第三方图床只适合数据备份。

    1 回复
  • 查看全部回帖