828华为云征文|部署个人知识管理系统 SiyuanNote

828华为云征文|部署个人知识管理系统 SiYuan

  • 一、Flexus云服务器X实例介绍
  • 二、Flexus云服务器X实例配置
    • [2.1 重置密码](#2.1 重置密码)
    • [2.2 服务器连接](#2.2 服务器连接)
    • [2.3 安全组配置](#2.3 安全组配置)
    • [2.4 Docker 环境搭建](#2.4 Docker 环境搭建)
  • [三、Flexus云服务器X实例部署 SiyuanNote](#三、Flexus云服务器X实例部署 SiyuanNote)
    • [3.1 SiyuanNote 介绍](#3.1 SiyuanNote 介绍)
    • [3.2 SiyuanNote 部署](#3.2 SiyuanNote 部署)
    • [3.3 SiyuanNote 使用](#3.3 SiyuanNote 使用)
  • 四、总结

一、Flexus云服务器X实例介绍

云服务器是基于虚拟化技术的计算资源服务,通过互联网提供弹性的计算能力和存储空间,用户可以根据需要灵活调整资源规模,实现快速部署应用、数据备份与恢复,提升可靠性和安全性,降低运维成本。云服务器为个人和企业提供了高度可扩展的计算解决方案,促进数字化转型和创新发展。

华为云下一代云服务器Flexus X实例焕新上线,新产品按照算力规格变化,精准计算用量,按需灵活计费,搭配智能推介,始终确保成本更优,拥有国内最大SRE团队之一,基于华为云定性运维理念,确保云服务超高可用性,覆盖行业大多数通用工作负载场景。

Flexus X实例通过和其他服务组合,具备计算、镜像安装、网络、存储、安全等能力,您可根据业务需要灵活配置各资源。

本次测评使用的规格是:4核12G-100G-3M规格的Flexus X实例基础模式

二、Flexus云服务器X实例配置

2.1 重置密码

购买服务器的时候可以提前设置用户名和密码,因为我这里跳过了,所以购买完成后需要重置密码,会短信或站内消息通过你的云服务器信息,重点是公网IP地址和用户名,首先打开你的服务器控制台,选择重置密码

勾选自动重启,点击确定即可

2.2 服务器连接

华为云服务器提供了多种链接方式,如使用控制台提供的VNC方式登录、使用Linux/Mac OS系统主机登录Linux弹性云服务器(即ssh root@192.168.48.78命令)或者使用Putty、Xshell等工具登录Linux弹性云服务器。

我个人习惯使用 MobaXterm 这款软件,添加SSH连接,输出公网IP、用户名和端口(默认22),连接即可。

2.3 安全组配置

安全组是一个逻辑上的分组,为同一个VPC内的云服务器提供访问策略。用户可以在安全组中定义各种访问规则,当云服务器加入该安全组后,即受到这些访问规则的保护。

系统为每个网卡默认创建一个默认安全组,默认安全组的规则是对出方向上的数据报文全部放行,入方向访问受限。您可以使用默认安全组,也可以根据需要创建自定义的安全组

主要需要填写优先级(默认填1即可)、协议端口(协议一般为TCPUDP,端口一般选择你项目需要暴露的端口即可),描述(选填,一般会填写此端口的用途以免忘记了),其他默认点击确定即可。安全组配置主要是暴露端口可以给外网访问。

如果还不清楚可以参考文档:安全组配置示例

2.4 Docker 环境搭建

本次服务器环境是ubuntu系统镜像,需要自己安装docker环境

服务器类别 系统镜像 内网IP地址 Docker版本 操作系统版本
Flexus云服务器X实例 Ubuntu 192.168.0.168 27.2.0 Ubuntu 22.04.4 LTS

使用apt-get命令安装docker及其配置

bash 复制代码
# 安装必要工具包
$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common

# 添加Docker GPG秘钥
$ sudo curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

# 配置仓库源
$ sudo add-apt-repository \
      "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu \
      $(lsb_release -cs) \
      stable"	

# 更新apt包索引
$ sudo apt-get update

# 安装docker
$ sudo apt-get install docker-ce docker-ce-cli containerd.io

# 添加docker镜像源
$ sudo vim /etc/docker/daemon.json

{
    "registry-mirrors": [
        "https://ustc-edu-cn.mirror.aliyuncs.com/",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.nju.edu.cn",
        "https://ccr.ccs.tencentyun.com/",
        "https://docker.m.daocloud.io/",
        "https://dockerproxy.com",
    ]
}
# 重启
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

测试docker安装是否成功

bash 复制代码
root@flexusx-c6b3:~# docker -v
Docker version 27.2.0, build 3ab4256```

检查docker服务状态

bash 复制代码
root@flexusx-c6b3:~# systemctl status docker
* docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2024-08-30 15:53:45 CST; 17h ago
TriggeredBy: * docker.socket
       Docs: https://docs.docker.com
   Main PID: 24912 (dockerd)
      Tasks: 13
     Memory: 24.7M
        CPU: 3.778s
     CGroup: /system.slice/docker.service
             `-24912 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

检查docker compose版本

bash 复制代码
root@flexusx-c6b3:~# docker compose version
Docker Compose version v2.29.2

三、Flexus云服务器X实例部署 SiyuanNote

3.1 SiyuanNote 介绍

思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。融合块、大纲和双向链接,重构你的思维,支持细粒度块级引用和 Markdown 所见即所得。

  • 块式编辑:思源笔记核心为内容块,通过排版格式形成块级内容,方便组织和阅读。支持超过20种块元素和10多种行级元素,以满足多样化的排版需求。

  • 双链块引:支持块级双向链接,将所有文档页面作为块管理。通过反向链接和链接关系图,用户可以轻松发现和可视化知识之间的关系。

  • 间隔重复记忆:使用FSRS算法提升记忆效率,通过回顾所学内容提高学习效果,优化时间分配,增强学习动力和自信。

  • 数据库功能:支持关联和汇总,可以在不同数据库间建立联系进行联动管理,整理和掌控动态知识。

  • 列表大纲:用于快速组织具有逻辑层次的知识,支持折叠操作以隐藏细节,方便简洁的组织和展示内容。

  • 隐私和同步:数据完全存储在用户设备上,端到端加密同步确保数据安全,即使在云端数据泄漏的情况下,内容也几乎不可能被他人知晓。

不同于传统的笔记应用,它支持完全离线使用,从设计之初就将用户的隐私保护放在首位。利用端到端加密技术,思源笔记保证了同步过程中的数据安全,即使在云端存储时,用户的数据也几乎不可能被外界窃取。其开发团队钟情于"所见即所得"的编辑体验,致力于帮助用户在块式编辑的基础上,重组和捕捉灵感。

3.2 SiyuanNote 部署

  • 创建 docker-compose.yml
yml 复制代码
version: "3.5"
services:
  main:
    image: b3log/siyuan
    command: ['--workspace=/siyuan/workspace/', '--accessAuthCode=maxxspace']
    user: '1000:1000'
    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=Asia/Shanghai
  • ports: 映射主机的 6806 端口到容器的 6806 端口
  • volumes: 将主机目录 ./siyuan/workspace 挂载到容器 /siyuan/workspace 目录
  • accessAuthCode:访问授权码,请务必修改,否则任何人都可以读写你的数据

如果将上述代码片段保存在名为 docker-compose.yml 的文件中,则只需从同一文件夹中运行 docker compose up -d 即可自动拉取 SiyuanNote 镜像,并创建并启动一个容器。 up 表示启动服务,-d 表示在后台执行。docker-compose down 命令用于停止和清理由 docker-compose up 启动的服务。

  • 启动服务

进入项目目录,执行docker-compose up -d启动命令,会自动拉取容器并运行

从 Dockerhub 拉取 SiyuanNote 镜像,地址:https://hub.docker.com/r/b3log/siyuan

bash 复制代码
root@flexusx-c6b3:~/siyuan# docker-compose up -d
Creating network "siyuan_default" with the default driver
Pulling main (b3log/siyuan:latest)...
latest: Pulling from b3log/siyuan
43c4264eed91: Already exists
f52ceb80057d: Pull complete
92afc472a8ad: Pull complete
e7d646cdae44: Pull complete
Digest: sha256:47c79b32d28ef4e753f2e894bb95b477bd891595635ffd6e35f4728fd8541a35
Status: Downloaded newer image for b3log/siyuan:latest
Creating siyuan_main_1 ... 
Creating siyuan_main_1 ... done
  • 配置安全组

在Flexus云服务器X实例的安全组管理页面,添加入方向规则,接下来我们启动服务需要监听6806端口,所以添加安全组为TCP:6806协议端口。

  • 检查容器状态

检查 SiyuanNote 容器状态,确保容器正常启动

bash 复制代码
root@flexusx-c6b3:~/siyuan# docker ps
CONTAINER ID   IMAGE                  COMMAND                  CREATED             STATUS             PORTS                                       NAMES
eedae1c3a75c   b3log/siyuan           "/opt/siyuan/kernel ..."   21 seconds ago      Up 3 seconds       0.0.0.0:6806->6806/tcp, :::6806->6806/tcp   siyuan_main_1
  • 访问地址

内网:http://localhost:6806

外网:http://公网IP:6806

  • 访问结果

若出现此页面,则部署 siyuan server 成功。

3.3 SiyuanNote 使用

首次访问时候会要求输入access auth code,即之前 docker-compose.yml中配置的值,输入后点击 unlock access

解锁完成后进入首页,整体风格很类似 Notion,尤其是笔记界面,但是感觉很多功能按钮设置都好小

点击左上角设置选项,选择外观 - 语言 - 简体中文,即可重启界面设置中文,并切换下亮色主题

设置的配置项很多:编辑器设置、文档树、闪卡、AI、资源、导出、集市(包类似于第三方应用程序,它可以做任何它想做的事情,所以在集市中安装集市包存在一定的安全风险)、搜索选项(启用的块级类型中进行搜索、块级属性、反链提及、索引 、搜索结果显示数、区分大小写 )、快捷键、帐号、云端(可选云端存储服务提供商,选择后将使用该提供商的云端存储服务实现云端同步和备份功能)、发布(启用后将启动发布服务,该服务以只读模式在局域网中发布当前工作空间的内容)

除了设置,还有面板设置、布局、日记、闪卡、最近的文档、锁屏、数据历史、用户指南等

在文档树中新建笔记本,输入笔记本名称确定即可

在新笔记本上新建子文档,和Notion操作很像,可以设置标题、标签、背景、图标,编辑内容时候可以使用/调出命令选项,也支持 markdown 语法输入自动转换样式

内容编辑支持超多类型,代码、表格、图片、视频、音频、文件、列表、待办、数据库表等,还有脑图UML和各种图表类型,文档本身支持复制、移动、添加到数据库、搜索、文件历史、导出、和编辑锁定

更多操作:插入图片和文件、开始录音、网络图片转化为本地图片、网络资源文件转化为本地、上传资源文件到图床、优化排版、模式切换等,以及文章的字符数、链接、图片、引用的统计

右上角功能中,命令面板可以快速执行一些操作

全局搜索功能十分强大,检索速度很快,能够直接定位到具体的段落,还有各种过滤条件的设置,过滤搜索类型,搜索方式包括关键字、搜索语法、SQL和正则表达式

大纲列表展示目录,书签显示已经添加的书签记录,标签显示添加的标签及其关联笔记

右侧菜单栏还包括关系图和全局关系图

模式切换选择导出预览时候,可以切换桌面、平板、移动端,还可以一键复制到公众号、知乎和语雀

我们来查看下 SiyuanNote 的映射文件路径下的结构

bash 复制代码
root@flexusx-c6b3:~/siyuan# tree -L 3
.
|-- docker-compose.yml
`-- siyuan
    `-- workspace
        |-- conf
        |-- data
        |-- history
        `-- temp

6 directories, 1 fil
  • conf 即为环境配置文件
  • data 即为项目主体数据
  • history 即为历史数据
  • temp 即为临时数据目录

思源笔记的核心理念是"块",所有内容都被视为独立的块体,方便进行逻辑重组和编辑。通过双链块引,用户可以实现块级双向链接,将文档页面分解为更小的组件,从而更灵活地组织信息。这种方式不仅减轻了心智负担,还让知识关联更直观和高效。作为个人笔记工具的使用就是这些的,熟悉 Notion 的用户的朋友应该会很容易上手,主要是文档的编辑模块功能丰富,以及文档的检索和关联,开始使用思源笔记后,建议用户首先熟悉块级编辑功能,利用块的灵活性,用户可以根据需求调整文档结构、添加双链块进行智能链接。尝试间隔重复记忆功能,适应于考试准备或者长期知识储备,以提升个人学习能力,还有更多有趣的设置和功能就需要自行探索了。

四、总结

思源笔记是一款非常优秀的开源知识管理工具,同时具备笔记软件和写作软件的特点,功能丰富,主要包括网络伺服功能、本地笔记、云同步、丰富的插件和主题、双链功能、Markdown和富文本等,可本地离线使用。它整合了先进的功能与严密的隐私保护机制,为用户提供了一个理想的数字记录和管理空间。此次使用的Flexus X实例配置还是很高的4核12G-100G-3M规格基础模式,目前体验下的笔记功能模块体验非常好,中文支持彻底,各种类型的数据几乎都能插入到笔记中,加载和响应速度都很快,几乎没有延迟,各种笔记页面切换都是快,全局搜索的返回结果也很快。

华为云服务器,性能卓越,稳定可靠!搭载最新一代处理器,大带宽高速网络,轻松应对海量数据处理。无论是企业级应用还是个人开发,都能提供极致体验。现在正值828 B2B企业节,价格更优惠,快来体验!

相关推荐
YRr YRr15 分钟前
CMake 中 add_definitions() 使用的注意事项及替代方案
linux·c++·windows·cmake
cooldream20091 小时前
828华为云征文 | 华为云X实例部署Docker应用的性能评测优化与实践指南
docker·容器·华为云·性能测试
江上清风山间明月1 小时前
repo 查看指定日期内,哪些仓库有修改,具体的修改详情
git·repo·记录·日期·修改·作者·详情
遥逖1 小时前
Linux上的C/C++编程
linux·c语言·c++
边城仔1 小时前
828华为云征文|WordPress部署
华为云
夏微凉.2 小时前
【RabbitMQ】RabbitMQ 的概念以及使用RabbitMQ编写生产者消费者代码
linux·学习·rabbitmq
Java入门学习2 小时前
IDEA更改远程git仓库地址
git·idea
小牛同学_2 小时前
Git 详细安装教程(详解 Git 安装过程的每一个步骤)
git
-SGlow-2 小时前
Linux相关概念和重要知识点(7)(git、冯诺依曼体系结构)
linux·运维·git
PeterJXL2 小时前
Git 与远程分支
git·分支管理