Docker部署思源笔记

2024-09-20 69

使用Docker可以轻松地在服务器或本地环境中运行思源笔记,从而实现数据的安全存储与便捷访问。本文将详细介绍如何通过 Docker 部署思源笔记。

一、镜像信息

1、镜像名称: b3log/siyuan

2、镜像地址: https://hub.docker.com/r/b3log/siyuan

二、文件结构

整体程序位于 /opt/siyuan/ 目录下,主要包含以下文件夹结构:

1、appearance:图标、主题和多语言支持文件

2、guide:帮助文档

3、stage:界面和静态资源

4、kernel:核心程序

三、启动入口

构建 Docker 镜像时已经设置了启动入口:ENTRYPOINT [ “/opt/siyuan/kernel” ]。可以使用以下命令启动容器:

docker run b3log/siyuan

四、启动命令参数

1、–workspace:指定工作空间文件夹路径,需通过 -v 挂载到容器中。

2、–accessAuthCode:指定访问授权码。

五、启动示例

以下是一条启动命令的示例:

docker run -d -v workspace_dir_host:workspace_dir_container -p 6806:6806 b3log/siyuan --workspace=workspace_dir_container --accessAuthCode=xxx

1、workspace_dir_host:宿主机上的工作空间文件夹路径

2、workspace_dir_container:容器内工作空间文件夹路径,与 –workspace 的指定路径相同

3、accessAuthCode:访问授权码,务必修改此值以保护数据安全。

六、简化配置

为简化操作,建议在宿主机和容器上将工作空间文件夹路径设置为一致。例如:

docker run -d -v /siyuan/workspace:/siyuan/workspace -p 6806:6806 -u 1000:1000 b3log/siyuan --workspace=/siyuan/workspace/ --accessAuthCode=xxx

使用 Docker Compose 部署

以下是使用 Docker Compose 的示例配置:

version: "3.9"
services:
main:
image: b3log/siyuan
command: ['--workspace=/siyuan/workspace/', '--accessAuthCode=${AuthCode}']
user: '1000:1000'
ports:
6806:6806
volumes:
/siyuan/workspace:/siyuan/workspace
restart: unless-stopped
environment:
TZ=${TimeZone}

七、用户权限

镜像中默认创建的普通用户为 siyuan(uid 1000/gid 1000),因此在宿主机上创建工作空间文件夹时,请设置该文件夹的用户组:

chown -R 1000:1000 /siyuan/workspace

启动容器时,需要加上参数 -u 1000:1000。

八、隐藏端口

为了隐藏 6806 端口,可以使用 NGINX 进行反向代理。在此情况下,请注意:

配置 WebSocket 反向代理至 /ws。

注意事项:

  • 请务必确认挂载卷的正确性,否则容器删除后数据会丢失;
  • 不要使用 URL 重写进行重定向,以免影响鉴权,建议使用反向代理配置。

九、限制

1、不支持桌面端和移动端应用连接,仅支持在浏览器上使用。

2、不支持导出 PDF、HTML 和 Word 格式。

3、不支持导入 Markdown 文件。

通过以上步骤,可以轻松地在 Docker 中部署思源笔记,管理和组织知识与信息。

  • 广告合作

  • QQ群号:707632017

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。
Laravel
下一篇: Laravel配置