docker 部署思源(超详细)

环境1

云服务器:华为云

系统:Ubuntu 22

软件环境: 宝塔、docker,Nginx

docker 步骤

  1. 宝塔中搜索 b3log/siyuan​,拉取思源的镜像

    image

    image

    拉取失败:如果拉取失败,考虑是否是 docker 配置文件问题,修改仓库的镜像加速链接:
    image

    {
        "registry-mirrors": [
            "https://registry-1.abcio.xyz"
        ]
    }
    
    
  2. 点击 容器​-->创建容器​-->命令创建​选项卡,输入如下命令进行创建

    docker run -v /root/data/docker_data/SiYuan:/home/www/siyuan -p 6806:6806 -u 1000:1000 --name siyuan b3log/siyuan --workspace=/home/www/siyuan --accessAuthCode=1212
    

    image

    解释一下:

    1. -v /root/data/docker_data/SiYuan:/home/www/siyuan​:将宿主机的/root/data/docker_data/SiYuan 挂载到容器内的/home/www/siyuan 目录;
    2. -p 80:6806​:将宿主机的 80 端口映射到容器的 6806 端口,因为思源默认是 6808 端口,80 端口可以你自己定义;
    3. -u 1000:1000​:容器运行的权限用户和用户组,保持不变;
    4. --name​ :容器命名
    5. --workspace=/home/www/siyuan​:思源在容器内的工作目录,也就是上面-v 挂载的目录,建议保持和上面挂载的相同即可;
    6. --accessAuthCode=访问码​:访问码,必选项。
  3. 启动完成后,访问 ip:端口号​即可。如果访问不通,可以到主机服务提供商,如腾讯云中查看主机的端口是否开放,将 80 端口(上面-v 参数中你宿主机的映射端口)开放,这里以华为云为例在安全组中添加 80 端口的入站规则:

    image

  4. 访问效果:默认是英文,在 设置​-->Appearance​-->language​中更换 English 为中文即可。

    image

问题与解决

c16795aac4584546dc1530b4493cd41e

表示 80 端口被占用,说明你的宿主机 80 端口可能开启了别的服务。

解决办法:更换命令行中的端口(推荐),或者关闭 80 端口的服务。

提示目录无权限问题:

  1. sudo chmod 对应的目录权限为 777

  2. 或者是更换目录

    docker run -v /root/data/docker_data/SiYuan:/root/data/docker_data/SiYuan/siyuan -p 808:6806 -u 1000:1000 b3log/siyuan --workspace=/root/data/docker_data/SiYuan/siyuan --accessAuthCode=1212
    

同步方面

第一种:如果仅仅是云端的话,直接这样就 ok 了,及时对 docker 容器进行备份即可,缺点是只能浏览器访问;

第二种(推荐):如果还需要使用客户端,则可以通过官方的功能特性会员(64¥),加上配置 s3 的方式进行同步(虽然配置麻烦,但是容错率非常高,即使服务器挂了笔记也还在,支持网页访问的同时,依旧支持本地客户端,效果极佳)。


  1. 环境

  • 思源笔记

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

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

    22302 引用 • 89190 回帖 • 1 关注
  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    491 引用 • 917 回帖
4 操作
tianzhongs 在 2024-08-28 11:15:00 更新了该帖
tianzhongs 在 2024-07-08 16:50:02 更新了该帖
tianzhongs 在 2024-06-28 22:24:54 更新了该帖
tianzhongs 在 2024-06-28 21:09:28 更新了该帖

相关帖子

欢迎来到这里!

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

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

    很好,感谢,正好需要。

  • ihli

    大佬,能不能详细说说 S3、webdav、docker 各自的优缺点,正迷茫中不知道该用哪种方式,家里有 nas

    2 回复
  • ihli

    另外,大佬,你最后说 S3 支持网页访问,请问该如何网页访问?

    1 回复
  • jxb0621

    亲 目前无法获得思源最新镜像 能找到的版本都是 1.6.3 2 年前的版本了 请问各位有没有可以从 GitHub 拉取源码后 自己动手制作镜像的教程?

    1 回复
  • tianzhongs

    这里的意思是,服务器部署了,再配置 s3,保证数据有备份,增加数据丢失容错。

  • tianzhongs

    s3 成本低,最方便,webdav 国内没有好的服务提供商,不建议,如果是自己搭建,可以使用。docker 主要是方便网页 web 访问,但是不能客户端同步,所以看你自己需求。

  • wanglingpeng 1 评论

    S3 和 webdav 是两种不同的存储协议,S3 对象存储是需要在腾讯云或者阿里云平台申请付费使用的,优点是高可用,不用自己维护,如果家里有 nas 可以搭建开通 webdav 后免费使用进行备份。

    有 NAS 的话如果能做到还是自建 minio S3 ,性能好很多
    JeffreyChen
  • zy10112029

    感恩

请输入回帖内容 ...