思源笔记 - 群晖 docker 部署、升级、外网访问

本贴最后更新于 935 天前,其中的信息可能已经时移俗易

个人总结整理,欢迎大家指点~

部署

1、建文件夹

  • 进 Files Station ,在 Docker 目录下手动新建文件夹,文件夹名如:siyuan
  • 在文件夹的属性中,打开读取和写入权限权限修改.jpg

2、PuTTY SSH 输入以下代码

sduo -i

docker pull b3log/siyuan

docker run -v /volume1/docker/siyuan:/siyuan -p 6806:6806 -u 1000:1000 b3log/siyuan -resident -workspace /siyuan (--servePath xxx.kooldns.cn --ssl true)

补充说明:

  • 括号里的内容是针对 小于 2.0 版本 的外网访问的,后面有说明,不需要直接删掉
  • 冒号后面的 /siyuan 是通过后面的启动参数 -workspace=/siyuan 指定的镜像里的笔记存储位置,如果不用 -workspace 参数指定,默认就是 /root/Documents/SiYuan
  • 出现权限不足的问题:应该是文件夹权限没弄好,按照第一步方法给权限就行

3、浏览器访问 群晖 IP:6806

升级

手动升级

  • 删掉容器、删掉映像删容器.png
    删映像.png
  • 执行上面 部署 二三步就可以了

补充说明

  • 注意存放位置要与之前一致,siyuan 文件夹里的内容不要动
  • 目前没遇到问题,但仍建议升级前备份一下。

自动升级

评论区小伙伴推荐的方法是使用 Watchtower,还没尝试,尝试过后再来这里完善

外网访问

1、这里分三种途径(内网穿透,公网 ip,自定义域名)

内网穿透:以前我用的是 ddnsto 内网穿透,注册好之后,添加域名映射就可以了(群晖要按照官网教程安装好 ddnsto 套件)

公网 ip:ip:6806(需要在路由器做好端口 6806 转发)(不推荐)

自定义域名:域名 ddns 连到自己群晖上,然后用这个域名部署。(反代后记得在路由器做好端口 6886 转发)

2、部署

  • 2.0 版本之前(不推荐)
    • 内网穿透/公网 ip:部署时把第二步中的括号去掉,--servePath 后面改成 你的域名 其他操作不变
    • 自定义域名:部署时把第二步中的括号去掉,--servePath 后面改成 你的域名:端口号
  • 2.0 版本之后:按照之前说明部署即可,无需加括号里的部分(推荐)

3、反向代理

控制面板 → 登录门户 → 高级 → 反向代理服务器 → 如图配置(来源的协议那里可以选 https 了)

2.png1.png

补充说明:

  • 看别人的教程,反代这里是选 https,但我试了无法访问,应该是证书没导入的问题,没具体尝试,选 http 可以访问,这里就自己调试吧。 思源 2.0 版本之后,直接选择 https,可以访问,赞!
  • 如果操作没问题,却卡在开始页面一直转圈,可以清理一下浏览器缓存再重新加载试试

4、浏览器访问 群晖 自定义域名

参考教程:

  • 思源笔记

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

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

    22379 引用 • 89579 回帖
6 操作
gtmeo 在 2022-05-03 14:23:11 更新了该帖
gtmeo 在 2022-05-03 14:15:46 更新了该帖
gtmeo 在 2022-02-24 21:47:29 更新了该帖
gtmeo 在 2022-02-24 21:43:52 更新了该帖 gtmeo 在 2021-12-28 13:57:12 更新了该帖 gtmeo 在 2021-12-28 13:52:25 更新了该帖

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • ltbyhf 2 评论

    你好,我在群晖 docker 上部署思源笔记,最后用内网 ip:端口号访问思源,一直进不去,不知道是怎么回事?能否帮我分析下?谢谢了

    在登陆页面转圈,如果是部署了内网穿透的话,第一次先用外网网址进去,以后再用内网 ip+ 端口号就好了。
    gtmeo
    还有一种可能是浏览器缓存的事,你可以先换一个浏览器或者用手机试试,如果能进去,就把之前浏览器的缓存清理一下就好使了。
    gtmeo
  • 其他回帖
  • gtmeo

    启动就停止有可能是文件夹权限不够,多折腾两次肯定能装好,加油 😋

    1 回复
  • gtmeo

    权限不足的话,可以按照这个方法给文件夹权限

    1.jpg

  • 升级可以使用 Watchtower 试试

    拉取镜像

    docker pull containrrr/watchtower
    

    更新思源可用配置

    docker run \
        --detach \
        --name watchtower \
        --volume /var/run/docker.sock:/var/run/docker.sock \
        containrrr/watchtower \
        --cleanup \
        --interval 3600 \
        --include-restarting \
        --include-stopped \
        --revive-stopped
    

    默认配置

    docker run \
        -d \
        --name watchtower \
        -v /var/run/docker.sock:/var/run/docker.sock \
        containrrr/watchtower
    
    • 默认自动更新所有容器

    自动更新指定的容器

    docker run \
        -d \
        --name watchtower \
        -v /var/run/docker.sock:/var/run/docker.sock \
        containrrr/watchtower \
        nginx redis
    

    仅运行一次

    docker run \
        --name watchtower \
        -v /var/run/docker.sock:/var/run/docker.sock \
        containrrr/watchtower \
        --run-once
    
    • 更新后自行删除 watchtower 容器

    更新后删除旧镜像

    docker run \
        -d \
        --name watchtower \
        -v /var/run/docker.sock:/var/run/docker.sock \
        containrrr/watchtower \
        --cleanup
    

    设置轮询间隔

    docker run \
        -d \
        --name watchtower \
        -v /var/run/docker.sock:/var/run/docker.sock \
        containrrr/watchtower \
        --interval 3600
    
    docker run \
        -d \
        --name watchtower \
        -v /var/run/docker.sock:/var/run/docker.sock \
        containrrr/watchtower \
        -i 3600
    
    • 轮询间隔以秒为单位

    同时更新停止的容器

    docker run \
        -d \
        --name watchtower \
        -v /var/run/docker.sock:/var/run/docker.sock \
        containrrr/watchtower \
        --include-stopped
    

    更新停止的容器后启动容器

    docker run \
        -d \
        --name watchtower \
        -v /var/run/docker.sock:/var/run/docker.sock \
        containrrr/watchtower \
        --include-stopped \
        --revive-stopped
    

    同时更新正在重启的容器

    docker run \
        -d \
        --name watchtower \
        -v /var/run/docker.sock:/var/run/docker.sock \
        containrrr/watchtower \
        --include-restarting
    
  • 查看全部回帖