1.5.4+ 版本思源笔记 Docker 部署参考(1.7 + 版有效)

本贴最后更新于 823 天前,其中的信息可能已经时移世改

一、修改思源笔记默认 6806 端口(以 1.5.4 版为例,不修改端口可跳过这一步

  1. 下载思源笔记 linux 版客户端

下载地址:https://b3log.org/siyuan/download.html

  1. 解开下载好的 siyuan-1.5.4-linux.tar.gz,找到安装包中的 resources/stage/ 目录下找到 build 文件夹
  2. 修改 appdesktopexportmobile 4 个目录下所有 js 文件,将 6806 替换成 80

js 名类似 main.d3d59c662fee6c9d90d0.jsprotyle-method.js 等,中间数字为随机生成

  1. build 文件夹复制 /home/mura/siyuan 目录(此目录下准备放思源笔记的工作空间,可根据自己需要自定,我是又新建了一个 server 目录),并给/home/mura/siyuan 目录配置权限,准备做容器卷
    cp -r /home/mura/downloads/build /home/mura/siyuan/server
    
    chown -R 1000:1000 /home/mura/siyuan
    

二、Docker 部署

  1. 1.5.2 版之后,思源笔记容器内部改为 1000:1000 用户运行,所以相应的目录都需要放在宿主机的 1000 用户(安装 linux 时第一个创建的用户)有权限访问的目录

    假设:

    第一个创建的用户名为: mura

    思源笔记的工作空间:/home/mura/siyuan/notes

    思源笔记 build 文件夹所在目录:/home/mura/siyuan/server/build

  2. 开始拉取最新镜像

docker pull b3log/siyuan:v1.5.4
docker pull b3log/siyuan:latest

3、运行容器

docker run -itd --name siyuan \
    --restart=always \
    -u 1000:1000 \
    -e LANG=zh_CN.UTF-8 \ 
    -e LC_ALL=zh_CN.UTF-8 \
    -v /home/mura/siyuan/notes:/home/siyuan/Documents/SiYuan \
    -v /home/mura/siyuan/server/build:/opt/siyuan/stage/build \
    -p 80:6806 \
    b3log/siyuan:latest

如果不修改端口

docker run -itd --name siyuan \
    --restart=always \
    -u 1000:1000 \
    -e LANG=zh_CN.UTF-8 \ 
    -e LC_ALL=zh_CN.UTF-8 \
    -v /home/mura/siyuan/notes:/home/siyuan/Documents/SiYuan \
    -p 6806:6806 \
    b3log/siyuan:latest
  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    18713 引用 • 69869 回帖
4 操作
Mura 在 2022-01-25 09:20:51 更新了该帖
Mura 在 2022-01-10 10:36:49 更新了该帖
Mura 在 2021-12-23 08:06:57 更新了该帖
Mura 在 2021-12-02 10:35:42 更新了该帖

相关帖子

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • Mura

    你这个已经启动成功了。

    我现在怀疑,你是不是做了把 JS 文件中的 6806 端口替换成了 80 端口了?

    我看你启动容器是用了-p 6806:6806

    所以我的教程里前面 js 改 80 端口不用改。

    还有一个办法可以查看。按 F12,用浏览器的开发者工具,到网络里看,有哪个文件是 404,没有找到的。

    我之前将端口改成 80 也不能用,后来用开发者工具一看,有几个 js 文件没有加载成功,404

    进而发现有几个文件是 js 里写死了 6806 端口

  • 其他回帖
  • some 2 评论

    😭 一直在转圈,根本进不去。。

    image.png

    启动命令是

    docker run -itd --name siyuan
    --restart=always
    -u 1000:1000
    -v /home/siyuan/data:/home/siyuan/Documents/SiYuan
    -p 6806:6806
    b3log/siyuan:latest

    其中/home/siyuan/data 已经使用 chown -R 1000:1000 改了权限

    -e 参数不知道为什么提示 command not found,所以就没加了
    some
    @some docker logs siyuan 查看一下容器日志,再来判断比较好
    Mura
  • Mura

    我没用过群晖,不知道怎么访问宿主机目录,只要能将 js 文件拷进去,就可以。

    还有一种思路就是在其他地方下载好镜像,生成容器后,进容器修改好 js 文件,再做成镜像传到 hub.docker.com 上去,然后再下载自己的镜像重新生成容器

    最简单的方法就是让开发人员改。。。

    以上方法均无特殊要求,全部是常规参数常规操作,所以群晖我觉得是可以的

    1 回复
  • hykest

    大侠高见。

    请问群晖 GUI 界面有办法这样自定义部署吗?

    谢谢。

    1 回复
  • 查看全部回帖

推荐标签 标签

  • IPFS

    IPFS(InterPlanetary File System,星际文件系统)是永久的、去中心化保存和共享文件的方法,这是一种内容可寻址、版本化、点对点超媒体的分布式协议。请浏览 IPFS 入门笔记了解更多细节。

    20 引用 • 245 回帖 • 229 关注
  • Spark

    Spark 是 UC Berkeley AMP lab 所开源的类 Hadoop MapReduce 的通用并行框架。Spark 拥有 Hadoop MapReduce 所具有的优点;但不同于 MapReduce 的是 Job 中间输出结果可以保存在内存中,从而不再需要读写 HDFS,因此 Spark 能更好地适用于数据挖掘与机器学习等需要迭代的 MapReduce 的算法。

    74 引用 • 46 回帖 • 549 关注
  • 禅道

    禅道是一款国产的开源项目管理软件,她的核心管理思想基于敏捷方法 scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能,在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。

    5 引用 • 15 回帖 • 221 关注
  • Log4j

    Log4j 是 Apache 开源的一款使用广泛的 Java 日志组件。

    20 引用 • 18 回帖 • 41 关注
  • iOS

    iOS 是由苹果公司开发的移动操作系统,最早于 2007 年 1 月 9 日的 Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。iOS 与苹果的 Mac OS X 操作系统一样,属于类 Unix 的商业操作系统。

    84 引用 • 139 回帖
  • Ngui

    Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
    Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。

    7 引用 • 9 回帖 • 345 关注
  • Hprose

    Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。

    9 引用 • 17 回帖 • 597 关注
  • 知乎

    知乎是网络问答社区,连接各行各业的用户。用户分享着彼此的知识、经验和见解,为中文互联网源源不断地提供多种多样的信息。

    10 引用 • 66 回帖
  • NetBeans

    NetBeans 是一个始于 1997 年的 Xelfi 计划,本身是捷克布拉格查理大学的数学及物理学院的学生计划。此计划延伸而成立了一家公司进而发展这个商用版本的 NetBeans IDE,直到 1999 年 Sun 买下此公司。Sun 于次年(2000 年)六月将 NetBeans IDE 开源,直到现在 NetBeans 的社群依然持续增长。

    78 引用 • 102 回帖 • 643 关注
  • Flume

    Flume 是一套分布式的、可靠的,可用于有效地收集、聚合和搬运大量日志数据的服务架构。

    9 引用 • 6 回帖 • 594 关注
  • Sym

    Sym 是一款用 Java 实现的现代化社区(论坛/BBS/社交网络/博客)系统平台。

    下一代的社区系统,为未来而构建

    523 引用 • 4581 回帖 • 690 关注
  • Tomcat

    Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。

    162 引用 • 529 回帖 • 4 关注
  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1425 引用 • 10043 回帖 • 470 关注
  • 又拍云

    又拍云是国内领先的 CDN 服务提供商,国家工信部认证通过的“可信云”,乌云众测平台认证的“安全云”,为移动时代的创业者提供新一代的 CDN 加速服务。

    21 引用 • 37 回帖 • 512 关注
  • 一些有用的避坑指南。

    69 引用 • 93 回帖 • 2 关注
  • OpenResty

    OpenResty 是一个基于 NGINX 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。

    17 引用 • 40 关注
  • SMTP

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。

    4 引用 • 18 回帖 • 589 关注
  • golang

    Go 语言是 Google 推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发 Go,是因为过去 10 多年间软件开发的难度令人沮丧。Go 是谷歌 2009 发布的第二款编程语言。

    492 引用 • 1383 回帖 • 374 关注
  • 脑图

    脑图又叫思维导图,是表达发散性思维的有效图形思维工具 ,它简单却又很有效,是一种实用性的思维工具。

    21 引用 • 58 回帖
  • PostgreSQL

    PostgreSQL 是一款功能强大的企业级数据库系统,在 BSD 开源许可证下发布。

    22 引用 • 22 回帖
  • WordPress

    WordPress 是一个使用 PHP 语言开发的博客平台,用户可以在支持 PHP 和 MySQL 数据库的服务器上架设自己的博客。也可以把 WordPress 当作一个内容管理系统(CMS)来使用。WordPress 是一个免费的开源项目,在 GNU 通用公共许可证(GPLv2)下授权发布。

    45 引用 • 113 回帖 • 315 关注
  • Ant-Design

    Ant Design 是服务于企业级产品的设计体系,基于确定和自然的设计价值观上的模块化解决方案,让设计者和开发者专注于更好的用户体验。

    17 引用 • 23 回帖 • 3 关注
  • BND

    BND(Baidu Netdisk Downloader)是一款图形界面的百度网盘不限速下载器,支持 Windows、Linux 和 Mac,详细介绍请看这里

    107 引用 • 1281 回帖 • 25 关注
  • SEO

    发布对别人有帮助的原创内容是最好的 SEO 方式。

    35 引用 • 200 回帖 • 23 关注
  • IDEA

    IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

    180 引用 • 400 回帖
  • 开源中国

    开源中国是目前中国最大的开源技术社区。传播开源的理念,推广开源项目,为 IT 开发者提供了一个发现、使用、并交流开源技术的平台。目前开源中国社区已收录超过两万款开源软件。

    7 引用 • 86 回帖
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    185 引用 • 318 回帖 • 344 关注