求解关于 Docker 版思源笔记部署的问题

尝试 Docker 部署的时候遇到几个问题,请求大佬解答一下。


我的操作步骤:

$ mkdir /var/siyuan/workspace
$ chown -R 1000:1000 /var/siyuan/workspace
$ docker run --name siyuan -it -d --restart=always      \
    -v /var/siyuan/workspace:/var/siyuan/workspace      \
    -p 6806:6806 -u 1000:1000 b3log/siyuan              \
    --workspace=/var/siyuan/workspace                   \
    --servePath=mydomain.com:6806

此时在 Chrome 中访问 mydomain.com:6806 就可以正常访问和保存笔记了。

但是此时查看日志会看到一连串报错信息(重复多次,这里只贴一条):

2021/12/24 10:23:24 [Recovery] 2021/12/24 - 10:23:24 panic recovered:
runtime error: invalid memory address or nil pointer dereference
/usr/local/go/src/runtime/panic.go:221 (0x4535a6)
/usr/local/go/src/runtime/signal_unix.go:735 (0x453576)
/go/pkg/mod/github.com/gorilla/[email protected]/conn.go:1184 (0xc44fc6)
/go/pkg/mod/github.com/88250/[email protected]/melody.go:172 (0xc44fae)
/go/pkg/mod/github.com/88250/[email protected]/melody.go:161 (0x102c5b7)
/go/src/github.com/siyuan-note/siyuan-src/kernel/server/serve.go:196 (0x102c57d)
/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:165 (0xc3926c)
/go/pkg/mod/github.com/gin-contrib/[email protected]/sessions.go:52 (0xc39258)
/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:165 (0xffca2c)
/go/pkg/mod/github.com/gin-contrib/[email protected]/handler.go:60 (0xffca02)
/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:165 (0xc30521)
/go/pkg/mod/github.com/gin-gonic/[email protected]/recovery.go:99 (0xc3050c)
/go/pkg/mod/github.com/gin-gonic/[email protected]/context.go:165 (0xc2f3dd)
/go/pkg/mod/github.com/gin-gonic/[email protected]/gin.go:489 (0xc2f065)
/go/pkg/mod/github.com/gin-gonic/[email protected]/gin.go:445 (0xc2ebc4)
/usr/local/go/src/net/http/server.go:2878 (0x75a9da)
/usr/local/go/src/net/http/server.go:1929 (0x756087)
/usr/local/go/src/runtime/asm_amd64.s:1581 (0x470940)

之后我尝试了在设置中修改授权码。修改时看似一切正常,但修改完刷新页面、输入授权码后,页面就一直停在启动动画(LOGO 界面)了。此时日志依然在重复输出上面那条报错信息。

求大佬帮忙看下,是哪里出错了呢 😭


另外改授权码之前,当我试了用其他设备访问,但是都显示“与内核断开”的提示,无法使用。一个是电脑端的新版 Edge 浏览器,另一个是安卓的 Edge 浏览器,是浏览器不支持的原因吗?还是我的部署还有其他问题……

1 操作
gjfLeo 在 2021-12-24 10:52:24 更新了该帖

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • 88250
    订阅者

    使用了反向代理么?用了的话需要设置 WebSocket 反代,帮助文档里有介绍。

    1 回复
  • gjfLeo
    作者

    谢谢大佬解答。我之前没有接触过反向代理相关的内容,刚才研究了一下,还不是太理解。这台服务器没有使用 Nginx ,只用到 Apache Httpd,配置了一些 HTTP 重定向(比如把 siyuan.mydomain.com 重定向到 mydomain.com:6806 等等),和这个有关系吗,应该如何继续排查呢?

    1 回复
  • 88250
    订阅者

    有关系,不能用重定向,只能用反向代理。

    1 回复
  • gjfLeo
    作者

    问题应该解决了,谢谢大佬

    1 回复
  • kaluosifa

    请问是怎么解决的?

    1 回复
  • gjfLeo
    作者

    把相关的重定向配置删除,然后启动时也不加 servePath 参数,就行了

    1 回复
  • kaluosifa

    请问重定向配置在什么目录下?我在容器内没有找到相关配置。

请输入回帖内容 ...