关于 Docker 思源笔记使用 Docker-compose 更改授权码的问题

私有化部署

按照 思源笔记 docker 部署及第三方同步 做的 docker 私有化部署。

yml 文件如下:

version: '3'

services:
  siyuan:
    image: b3log/siyuan:latest
    container_name: fllsiyuan
    restart: always
    volumes:
      - /siyuan:/root/document/fllsynote
    command: [--workspace=/root/document/fllsynote,--lang=zh_CN,--accessAuthCode=88888888]
    ports:  
      - "7777:6806"

更改授权码

长期使用后,授权码 8 个 8 太长,想修改为 11。

使用命令


docker-compose stop siyuan

然后修改 yml 文件中授权码为 11,如下。

version: '3'

services:
  siyuan:
    image: b3log/siyuan:latest
    container_name: fllsiyuan
    restart: always
    volumes:
      - /siyuan:/root/document/fllsynote
    command: [--workspace=/root/document/fllsynote,--lang=zh_CN,--accessAuthCode=11]
    ports:  
      - "7777:6806"

然后

docker-compose start siyuan

经测试授权码未更改为 11,原先的思源笔记数据还在。

使用新的命令

docker-compose up -d

经测试授权码更改为 11,原先的思源笔记数据丢失(提前已备份)。

问题

请教各位贤达,这是怎么回事?如何达到目的(docker-compose 修改授权码,思源笔记数据不丢失)?

还是 docker-compose 不能实现?

  • 思源笔记

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

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

    20197 引用 • 78000 回帖 • 1 关注

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • daziduan
    作者

    /root/document/fllsynote

    这个目录里面什么也没有。

    怎么进行 VPS 宿主目录和 docker 容器的对应?有没有参考文件?

    另外,谢谢 @muxue!

    1 回复
  • 其他回帖
  • daziduan
    作者

    @ muxue

    你好。
    按你说的更改 yml

    version: '3'

    services:
    siyuan:
    image: b3log/siyuan:latest
    container_name: fllsiyuan
    restart: always
    volumes:

    • /root/document/fllsynote:/siyuan
      command: [--workspace=/root/document/fllsynote,--lang=zh_CN,--accessAuthCode=11]
      ports:
    • "7777:6806"

    启动之后。

    使用 docker-compose logs 之后显示下面信息:

    fllsiyuan | W 2024/07/24 19:23:09 file.go:210: determines whether [/root/document/fllsynote] is a directory failed: [lstat /root/document/fllsynote: permission denied]
    fllsiyuan | W 2024/07/24 19:23:09 working.go:258: use the default workspace [/home/siyuan/SiYuan] since the specified workspace [/root/document/fllsynote] is not a dir
    fllsiyuan | I 2024/07/24 19:23:09 working.go:147:

    我看显示错误,怎么修正错误?

    进容器之后
    /opt/siyuan/guide/20240530133126-axarxgx $ ls
    20240530101000-3xv6jjr.sy 20240530101000-bgv304g.sy 20240530101000-hkgs92c 20240530101000-mpln2lp.sy storage
    20240530101000-4qitucx 20240530101000-e6z5okf.sy 20240530101000-hkgs92c.sy 20240530101000-znj103k.sy
    20240530101000-4qitucx.sy 20240530101000-flot1gj.sy 20240530101000-jp793ic.sy assets

    请贤达指教。

    1 回复
  • docker-compose start 是不会更新 yml 文件的修改的,up 才会,所以你 start 之后访问授权码没有变化是正常的。

    至于数据丢失,不太清楚什么问题。如果你没有修改过 volumes 的绑定,应该不会数据丢失才对。请检查宿主机的 /siyuan 目录里面有没有内容。现在看你这个设置我感觉你是不是把宿主机和容器内的路径搞反了。

  • fradeet

    按你的情况还是搞个粗糙点的方法吧...在你原来有笔记的容器上

    docker cp fllsiyuan:/root/document/fllsynote/conf/conf.json ./conf.json
    

    拷贝出容器中的 JSON 文件,查找 accessAuthCode 并修改保存,拷贝回去,重启容器。

    docker cp ./conf.json fllsiyuan:/root/document/fllsynote/conf/conf.json
    
  • 查看全部回帖