思源笔记是一款隐私优先的个人知识管理系统,支持细粒度块级引用和 Markdown 所见即所得。
欢迎到思源笔记官方讨论区了解更多。同时也欢迎关注 B3log 开源社区微信公众号 B3log开源
:
大部分功能是免费的,即使是在商业环境下使用。
siyuan://
部分功能需要付费会员才能使用,更多细节请参考定价。
Project | Description | Forks | Stars |
---|---|---|---|
lute | 编辑器引擎 | ||
chrome | Chrome/Edge 扩展 | ||
bazaar | 社区集市 | ||
dejavu | 数据仓库 | ||
petal | 插件 API | ||
android | Android App | ||
ios | iOS App | ||
harmony | 鸿蒙 App | ||
riff | 间隔重复 |
桌面端和移动端建议优先考虑通过应用市场安装,这样以后升级版本时可以一键更新。
移动端:
桌面端:
在服务器上伺服思源最简单的方案是通过 Docker 部署。
b3log/siyuan
整体程序位于 /opt/siyuan/
下,基本上就是 Electron 安装包 resources 文件夹下的结构:
入口点在构建 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=xxx
PUID
: 自定义用户 ID(可选,如果未提供,默认为 1000
)PGID
: 自定义组 ID(可选,如果未提供,默认为 1000
)workspace_dir_host
:宿主机上的工作空间文件夹路径workspace_dir_container
:容器内工作空间文件夹路径,和后面 --workspace
指定成一样的accessAuthCode
:访问授权码,请务必修改,否则任何人都可以读写你的数据为了简化,建议将 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=xxx
对于使用 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
在此设置中:
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 端口,请注意:
/ws
注意:首先终端运行 chown -R 1000:1000 /mnt/user/appdata/siyuan
模板参考:
Web UI: 6806
Container Port: 6806
Container Path: /home/siyuan
Host path: /mnt/user/appdata/siyuan
PUID: 1000
PGID: 1000
Publish parameters: --accessAuthCode=******(访问授权码)
Docker
Docker
和 Docker Compose
服务,点击立即安装,若已安装请忽略Docker-应用商店-实用工具
中找到 思源笔记
,点击安装
,也可以在搜索框直接搜索确定
siyuan_随机字符
latest
IP+Port
直接访问,请勾选,如你已经设置了域名,请不要勾选此处6806
,可自行修改1-3
分钟,初始化完成后即可访问IP+端口
,请在浏览器地输入 http://<宝塔面板IP>:6806
访问我们会在有重大更新前发布内部预览版,请访问 https://github.com/siyuan-note/insider。
见:开发指南。
数据保存在工作空间文件夹下,在工作空间 data 文件夹下:
assets
用于保存所有插入的资源文件emojis
用于保存自定义图标表情图片snippets
用于保存代码片段storage
用于保存查询条件、布局和闪卡数据等templates
用于保存模板片段widgets
用于保存挂件plugins
用于保存插件public
用于保存公开的数据.sy
后缀的文件用于保存文档数据,数据格式为 JSON不支持通过第三方同步盘进行数据同步,否则可能会导致数据损坏。
虽然不支持第三方同步盘,但是支持对接第三方云端存储(会员特权)。
另外,也可以考虑手动导出导入 Data 实现数据同步:
思源笔记是完全开源的,欢迎参与贡献:
更多细节请参考开发指南。
可在 设置 - 关于 - 当前版本 中 检查更新,也可以通过关注官方下载或者 GitHub Releases 来获取新版本。
注意:切勿将工作空间放置于安装目录下,因为更新版本会清空安装目录下的所有文件
在列表项下的第一个子块是省略块标的。可以将光标移到这个块中,然后通过 Ctrl+/ 触发它的块标菜单。
如果之前在多个设备上正确初始化过数据仓库密钥的话,那么该密钥在所有设备上都是相同的,可以在 设置 - 关于 - 数据仓库密钥 - 复制密钥字符串 找回
如果之前没有正确配置(比如多个设备上密钥不一致)或者所有设备均不可用,已经无法获得密钥字符串,则可通过如下步骤重置密钥:
大部分功能是免费的,即使是在商业环境下使用。
会员特权需要付费后才能使用,请参考定价。
如果你没有会员特权需求但又想支持开发,欢迎进行捐赠:靠爱发电 - 链滴
思源的诞生离不开众多的开源项目和贡献者,请参考项目源代码 kernel/go.mod、app/package.json 和项目首页。
思源的成长离不开用户的反馈和宣传推广,感谢所有人对思源的帮助 ❤️
欢迎加入我们,一起为思源贡献代码。