思源笔记(SiYuan)是一款开源的、本地优先的个人知识管理 (PKM) 系统,采用块级引用和双向链接技术,可帮助用户构建结构化、网络化的知识体系。
配置Docker Compose文件:
version: "3.9"
services:
main:
image: b3log/siyuan # docker 镜像
container_name: siyuan # 容器名称
user: '0:0' # 读写用的用户名和用户组
command: ['serve','--workspace=/siyuan/workspace/', '--accessAuthCode=123456'] # 指定工作目录/siyuan/workspace/,指定访问密码(密码自行设定)
environment:
- TZ=Asia/Shanghai # 设定时区
- SIYUAN_LANG=zh-CN # 设定语言,默认 en。目前可选值:zh-CN、zh-TW、en、ja 和 pt-BR,旧下划线值如 zh_CN/en_US 也兼容。
ports: # 端口映射
- 6806:6806 # “:” 之前可以自行设定端口,这里代表映射容器内部的 6806 端口到桌面端的 6806 端口,不指定时桌面端使用随机端口。
volumes: # 文件夹映射
- ./workspace:/siyuan/workspace # “:” 之前可以自行设定路径 “./” 代表当前 Docker Compose 文件所在的目录
restart: unless-stopped # 总是在重启后启用容器
参数说明:
● image:指定用于运行思源笔记的Docker镜像。
● container_name:容器名称,用于识别和管理。
● command:指定启动命令,定义工作区路径,同时设置访问密码。自 v3.7.0 起,必须显式传入 serve 子命令。
● ports:用于指定监听端口。
● volumes:将本地工作区映射到容器中,确保数据的持久性。挂载 ./workspace 到容器的/siyuan/workspace路径。
● ./workspace:在这个上下文中,./ 代表当前 Docker Compose 文件所在的目录,./workspace指的是 Docker Compose 文件所在目录下的 workspace 子目录。
● restart:重启后自动重新启动容器。
● environment:设置环境变量。
○ TZ:时区标识符列表见 https://en.wikipedia.org/wiki/List_of_tz_database_time_zones。
○ SIYUAN_LANG:若希望设置中选择的语言在重启后仍生效,部署时请去掉该变量;若设置了,每次启动都会应用该值并覆盖已保存的语言设置。也可通过 --lang 命令行参数设置。如果两者都设置了,命令行的值将优先。
● user:镜像中默认是使用镜像默认创建的普通用户 siyuan (uid 1000/gid 1000)来启动内核进程的,这个权限不足,所以这里需要改为root权限(uid 0/gid 0)。