之前几年前部署的,是老版本的;客户端升级后提示同步失败,于是就想着把 docker 部署的升级一下;拉取 latest 后,容器一直启动失败,查了一下,说是私有部署需要授权码了,请问如何获得,怎么购买这个授权码?
现在私有 nas 上部署,需要授权码吗?
相关帖子
-
-
自己设置授权码。我把文档直接搬过来你自己看吧:
Docker 部署
概述
在服务器上伺服思源最简单的方案是通过 Docker 部署。
- 镜像名称
b3log/siyuan - 镜像地址
文件结构
整体程序位于
/opt/siyuan/下,基本上就是 Electron 安装包 resources 文件夹下的结构:- appearance:图标、主题、多语言
- guide:帮助文档
- stage:界面和静态资源
- kernel:内核程序
启动入口
入口点在构建 Docker 镜像时设置:
ENTRYPOINT ["/opt/siyuan/entrypoint.sh"]。该脚本允许更改将在容器内运行的用户的PUID和PGID。这对于解决从主机挂载目录时的权限问题尤为重要。PUID和PGID可以作为环境变量传递,这样在访问主机挂载的目录时就能更容易地确保正确的权限。使用
docker run b3log/siyuan运行容器时,请带入以下参数:--workspace:指定工作空间文件夹路径,在宿主机上通过-v挂载到容器中--accessAuthCode:指定访问授权码
更多的参数可参考
--help。下面是一条启动命令示例:docker run -d \ -v workspace_dir_host:workspace_dir_container \ -p 6806:6806 \ -e PUID=1001 -e PGID=1002 \ b3log/siyuan \ --workspace=workspace_dir_container \ --accessAuthCode=xxxPUID: 自定义用户 ID(可选,如果未提供,默认为1000)PGID: 自定义组 ID(可选,如果未提供,默认为1000)workspace_dir_host:宿主机上的工作空间文件夹路径workspace_dir_container:容器内工作空间文件夹路径,和后面--workspace指定成一样的- 另外,也可以通过
SIYUAN_WORKSPACE_PATH环境变量设置路径。如果两者都设置了,命令行的值将优先
- 另外,也可以通过
accessAuthCode:访问授权码,请务必修改,否则任何人都可以读写你的数据- 另外,也可以通过
SIYUAN_ACCESS_AUTH_CODE环境变量设置授权码。如果两者都设置了,命令行的值将优先 - 可通过设置环境变量
SIYUAN_ACCESS_AUTH_CODE_BYPASS=true禁用访问授权码
- 另外,也可以通过
为了简化,建议将 workspace 文件夹路径在宿主机和容器上配置为一致的,比如将
workspace_dir_host和workspace_dir_container都配置为/siyuan/workspace,对应的启动命令示例:docker run -d \ -v /siyuan/workspace:/siyuan/workspace \ -p 6806:6806 \ -e PUID=1001 -e PGID=1002 \ b3log/siyuan \ --workspace=/siyuan/workspace/ \ --accessAuthCode=xxxDocker Compose
对于使用 Docker Compose 运行思源的用户,可以通过环境变量
PUID和PGID来自定义用户和组的 ID。下面是一个 Docker Compose 配置示例:version: "3.9" services: main: image: b3log/siyuan command: ['--workspace=/siyuan/workspace/', '--accessAuthCode=${AuthCode}'] ports: - 6806:6806 volumes: - /siyuan/workspace:/siyuan/workspace restart: unless-stopped environment: # A list of time zone identifiers can be found at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones - TZ=${YOUR_TIME_ZONE} - PUID=${YOUR_USER_PUID} # 自定义用户 ID - PGID=${YOUR_USER_PGID} # 自定义组 ID在此设置中:
- PUID “和 ”PGID "是动态设置并传递给容器的
- 如果没有提供这些变量,将使用默认的
1000
在环境中指定
PUID和PGID后,就无需在组成文件中明确设置user指令(user: '1000:1000')。容器将在启动时根据这些环境变量动态调整用户和组。用户权限
在图片中,“entrypoint.sh ”脚本确保以指定的 “PUID ”和 “PGID ”创建 “siyuan ”用户和组。因此,当主机创建工作区文件夹时,请注意设置文件夹的用户和组所有权,使其与计划使用的
PUID和PGID匹配。例如chown -R 1001:1002 /siyuan/workspace如果使用自定义的
PUID和PGID值,入口点脚本将确保在容器内创建正确的用户和组,并相应调整挂载卷的所有权。无需在docker run或docker-compose中手动传递-u,因为环境变量会处理自定义。隐藏端口
使用 NGINX 反向代理可以隐藏 6806 端口,请注意:
- 配置 WebSocket 反代
/ws
注意
- 请务必确认挂载卷的正确性,否则容器删除后数据会丢失
- 不要使用 URL 重写进行重定向,否则鉴权可能会有问题,建议配置反向代理
限制
- 不支持桌面端和移动端应用连接,仅支持在浏览器上使用
- 不支持导出 PDF、HTML 和 Word 格式
- 不支持导入 Markdown 文件
- 镜像名称


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