基于Joplin和Joplin Server搭建私有云笔记在现实操教程

简介

Joplin 是一个开源的笔记工具,拥有 Windows/macOS/Linux/iOS/Android/Terminal 版本的客户端。

我们知道,多端同步功能是笔记工具最重要的功能。只有实现了多端同步,我们才能在工作电脑和手机之间无缝切换笔记体验。Joplin 在同步上做得不错,支持 Dropbox、OneDrive 和 AWS s3(当然国内都没法用),支持 WebDAV 协议,也支持自家的 Joplin Server

本文介绍如何在自己的服务器上搭建 Joplin Server,并配置好 Joplin Desktop 的同步功能。

官方主页:https://joplinapp.org/

特色

  • 免费开源
  • 桌面、移动和终端应用程序。
  • 用于 Firefox 和 Chrome 的Web Clipper 。
  • 端到端加密 (E2EE)。
  • 注意历史记录(修订)。
  • 与各种服务同步,包括 Nextcloud、Dropbox、WebDAV 和 OneDrive。
  • 首先离线,因此即使没有互联网连接,设备上的全部数据也始终可用。
  • 导入 Enex 文件(Evernote 导出格式)和 Markdown 文件。
  • 导出 JEX 文件(Joplin 导出格式)和原始文件。
  • 支持笔记、待办事项、标签和笔记本。
  • 按多个标准对笔记进行排序 – 标题、更新时间等。
  • 支持移动和桌面应用程序中的警报(通知)。
  • Markdown 笔记,在桌面和移动应用程序中使用图像和格式呈现。支持数学符号和复选框等额外功能。
  • 可选择 Markdown 和富文本 (WYSIWYG) 编辑器。
  • 文件附件支持 – 显示图像,链接其他文件并可在相关应用程序中打开。
  • PDF、视频和音频文件的内联显示。
  • 转到任何功能。
  • 搜索功能。
  • 地理位置支持。
  • 支持多种语言。
  • 外部编辑器支持 – 在 Joplin 中一键在您最喜欢的外部编辑器中打开笔记。
  • 通过插件和数据 API 实现的可扩展功能。
  • 自定义 CSS 支持自定义呈现的降价和整体用户界面。
  • 可定制的布局允许切换、移动和调整各种元素的大小。
  • 键盘快捷键是可编辑的,并允许将大多数 Joplin 命令与导出/导入功能绑定

预览

安装

安装Joplin

官方安装文档:https://joplinapp.org/help/#installation

在 Windows 上,您也可以使用便携式版本便携式应用程序允许在诸如 USB 密钥的便携式设备上安装软件。只需将文件 JoplinPortable.exe 复制到该 USB 密钥上的任何目录中即可;然后,应用程序将在可执行文件旁边创建一个名为“JoplinProfile”的目录。

在 Linux 上,推荐的方法是使用以下安装脚本,因为它也会处理桌面图标:

wget -O - https://raw.githubusercontent.com/laurent22/joplin/dev/Joplin_install_and_update.sh | bash

apk安装:点我下载

windows安装:点我下载

安卓谷歌商店:点我直达

苹果 app store :点我直达

安装 Joplin Server

提前安装好Docker,然后创建 Joplin Server 配置文件

cd /home/app
mkdir joplin
cd joplin
vim .env

复制一下内容进去保存,https://your-sample-url 替换为需要绑定的域名

APP_BASE_URL=https://your-sample-url/
APP_PORT=22300

Joplin Server 推荐使用 PostgreSQL 数据库,但是一般小配置的服务器在额外装个数据库会运行补流程,所以上面的配置就是直接默认启用 SQLite 数据库,由于采用了 SQLite 数据库,而 Docker 默认每次运行都会使用隔离的资源,这回导致之前的同步内容丢失,我们需要考虑数据持久化的问题,因此需要创建一个 Docker Volume:

# 创建名为 joplin 的 volume
# docker volume create joplin
joplin

然后我们使用下面的命令查看 volume 是否创建成功,可以看到,volumns 文件夹位于 /var/lib/docker 中:

root:~# docker volume inspect joplin
[
    {
        "CreatedAt": "2022-05-15T12:41:50+08:00",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/joplin/_data",
        "Name": "joplin",
        "Options": {},
        "Scope": "local"
    }
]

下面的命令在后台运行 Joplin Server,名称为 joplin_server,绑定端口为 22300,并把容器的 /home/joplin 绑定到 joplin 这个 volume:

docker run -d --name joplin_server -v joplin:/home/joplin --env-file /home/app/joplin/.env -p 22300:22300 joplin/server:latest

使用下面的命令查看运行状态:

root:~# docker ps -a

CONTAINER ID   IMAGE                             COMMAND                  CREATED              STATUS          PORTS                                                                                  NAMES
dc328bdf6bb5   joplin/server:latest              "tini -- node dist/a…"   About a minute ago   Up 52 seconds   0.0.0.0:22300->22300/tcp, :::22300->22300/tcp                                          joplin_server

重启容器:

docker container restart joplin_server

配置 Nginx 反代,建议使用宝塔服务器或者是 Nginx Proxy Manager 进行操作,或者直接修改配置文件:

server {
        server_tokens off;
        root /srv/www/html;
        index index.html index.htm;
        server_name your-domain
        client_max_body_size 100m;

        location / { try_files $uri $uri/ @joplin; }
        location @joplin {
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header Host $http_host;
                proxy_redirect off;
                proxy_pass http://localhost:22300;
        }
}

然后访问域名,使用默认的账户名和密码登录,然后修改账号和密码即可:

默认用户名:admin@localhost 
默认密码:admin 

安装 Joplin 应用程序后,先配置语言为中文界面,首先打开Joplin,可以看到顶栏上有个tool菜单 点击后弹出菜单里面有个Option选项,点击它,弹出配置菜单,选择中文:

打开,然后打开同步部分。在这个界面中,选择“ Joplin Server ”作为同步目标,然后输入URL 和你的用户名和密码,然后在检查一下配置,如果显示“成功,同步配置看起来没有问题”就可以了。

设置完成后,Joplin Server 允许您同步设备、发布笔记或与其他 Joplin Server 用户在笔记本上协作。

拓展

插件库:https://github.com/joplin/plugins/blob/master/README.md#plugins

此存储库包含以下插件:

主页 下载 姓名版本描述作者
?⬇️ABC 乐谱插件1.0.2将 ABC 文本符号转换为乐谱洛朗·科齐奇
?⬇️警告降价扩展1.1.0启用 markdownIt admonition 插件,启用格式化注释马西米利亚诺·马塞雷利
?⬇️议程3.7.1joplin 的议程/日历/日程安排面板,显示所有未完成的待办事项和截止日期。节拍链接
?⬇️雅典娜1.8.0将文件从导入文件夹导入到 joplin 笔记本中作为注释 mit 元数据(注释注释中的 PDF 文本,无 OCR)马卡内奥
?⬇️随员1.1.1您的附件更新程序。大规模替换 Joplin 附件(资源),例如调整大小的图像文件、当前音乐播放列表以及您需要在 Joplin 中一次性或定期更新的任何其他附件。马努·欧文
?⬇️自动报警1.0.7-rc10报警日期/时间的自然语言输入ZPH
?⬇️在侧边栏中自动显示活动笔记1.0.1在侧边栏中自动显示活动笔记埃亚尔
⬇️自动标记1.0.3-rc7将所有 octothorpe 前缀词转换为标签ZPH
?⬇️自动链接器1.0.4将图标添加到工具栏。单击时,它会创建一个指向注释的链接,其标题与所选文本匹配。S73ph4n
?⬇️自动化笔记1.0.2在当前注释中查找 javascript 块(块必须以 ‘ javascript' and end with '‘ 开头)并将其作为函数运行。S73ph4n
?⬇️需要注意的自动反向链接3.0.3以自动方式创建打开笔记的反向链接ambrt,cyingfan
?⬇️后台1.0.0直接从手机扫描和导入文件阿斯里恩特
?⬇️更好的 Markdown 查看器2.0.4在编辑器和 MD 查看器之间保持光标同步ylc395
?⬇️圣经报价2.0.0在文本编辑器中直接引用圣经但丁·G·巴博萨
⬇️中文提供0.5.0使用本地存储的 BibTeX 文件将引用集成到 Joplin阿卜杜拉·艾哈迈德
?⬇️批量笔记创建者1.0.0批量创建笔记艾哈迈德·阿尔廷迪斯
?⬇️字节域-svg1.1.0添加对用于描述网络协议、内存布局和任何其他二进制结构的 bytefield-svg 图的支持。马克0l92
?⬇️代码部分1.0.4从代码源插入一段代码于尔根·哈贝尔特
?⬇️CodeMirror 行号2.0.0为 CodeMirror 编辑器启用行号Shantanu Goel
?⬇️合并笔记1.0.1合并一个或多个音符杰克格鲁伯
?⬇️完整链接1.0.1这个插件在工具栏上添加了一个图标。单击时,它将所选文本完成为注释标题(在降价链接中)。S73ph4n
?⬇️解决冲突1.2.3一个使解决冲突的过程更容易的插件。艾哈迈德·阿尔瓦西菲
?⬇️带类的容器1.0.0用于创建具有自定义类的块级容器的插件孝氏龙
?⬇️将文本转换为新注释1.5.1将突出显示的文本转换为同一文件夹中的新文本安布特
?⬇️复制锚链接1.1.0该插件在注释标题旁边添加了几个图标,您可以单击这些图标来复制特定标题的降价链接。孝氏龙
?⬇️将链接复制到活动笔记1.0.1在编辑器的右键菜单中添加条目以获取活动笔记的链接一种
?⬇️创建并转到#tags 和@notebooks1.3.7通过链接或文本转到标签、笔记本或笔记一种
?⬇️CSV 导入1.0.1导入 Csv 文件或将剪贴板中的 Csv 文本粘贴为表格于尔根·哈贝尔特
?⬇️日回顾1.0.1这个插件在工具栏上添加了一个图标。单击时,它会查看当天创建/更新/完成的笔记和待办事项。S73ph4n
⬇️依赖图1.0.0将笔记的直接和间接依赖关系可视化为图形。文森特·尼斯
?⬇️禁用 PDF1.0.0禁用 Joplin 中的 PDF 预览(和导出)以获得更好的性能JJ-8
?⬇️绘图.io2.0.0乔普林的 Draw.io(又名 Diagram.net)集成马克0l92
?⬇️电子邮件说明1.2.2以电子邮件形式发送备注埃利亚斯文森特
?⬇️嵌入搜索2.0.0在注释内嵌入由搜索指定的链接列表安布特
⬇️嵌入式标签1.0.0嵌入标签戴夫·爱德华兹
?⬇️表情符号1.0.3表情符号选择器。回溯
?⬇️活动日历0.1.1一个简单的活动日历佛朗哥·斯佩齐亚利
?⬇️导出到 SSG1.0.3将笔记集合导出到静态站点生成器项目。aman-d-1-n-only
?⬇️收藏夹1.3.0在额外的面板视图中将任何笔记本、笔记、待办事项、标记或搜索保存为收藏,以便快速访问。奔吉300
?⬇️在代码镜像编辑器中折叠2.0.1允许折叠编辑器中显示的部分降价文本安布特
?⬇️获取笔记本 ID1.0.1复制/显示笔记本的 ID。对于开发人员。普通用户不需要这个。赫尔穆特 KC Tessarek
?⬇️GitHub 主题0.3.0Joplin 主题与 GitHub 的颜色马克0l92
?⬇️图形1.1.0笔记作为节点。探索您的 Joplin 知识图谱。安托万·杰拉尔丁
?⬇️亮点匹配0.1.0标记与突出显示的选择匹配的单词达拉萨
?⬇️历史面板1.0.1乔普林笔记浏览历史alondmnt
?⬇️家庭笔记1.0.4每次 joplin 启动时打开一个选择的笔记的插件。它就像浏览器上的主页。阿达什·辛格(lki)
?⬇️热文件夹1.0.1监视区域设置文件夹并将文件作为新注释导入。杰克格鲁伯
?⬇️内联标签1.2.1内联标签插件罗马穆辛
?⬇️内联 TODO1.3.1随处写 TODO并在一处查看。迦勒约翰
?⬇️插入日期1.0.1添加一个按钮以将当前日期(没有时间)插入到编辑器中。赫德索通
?⬇️吉拉问题2.3.0使用他们的 api 检索 Atlassian Jira 问题信息,以便从您的 Joplin 笔记中跟踪它们的状态。马克0l92
?⬇️乔普林 Anki 同步1.0.0Joplin 和 Anki 之间的双向同步陈丽君
?⬇️乔普林 DDDot0.1.3最近的笔记、快捷方式、便签本和….在一个侧边栏中。刘本
?⬇️乔普林笔记附件重命名1.2.0Joplin 插件重命名笔记附件,马卡内奥
?⬇️Joplin 用户链接插件1.2.0用于自定义链接的 Joplin 插件,例如jump://?query=blabla.科洛格勒
?⬇️乔普林-hackmd1.0.1在 HackMD 上快速分享笔记沙巴兹
?⬇️JSheets1.1.3JSheets – 用于在 Joplin 中编写类似 excel 的电子表格蒂博·扬·拜尔
?⬇️看板1.0.7适用于所有任务的灵活看板插件巴林特马扎尔
?⬇️生活日历1.2.1乔普林的一周生活插件孝氏龙
?⬇️链接图用户界面1.5.0可视化乔普林笔记之间的联系。特雷莫
?⬇️macOS 主题1.3.3Joplin 的原生外观 macOS 主题。也适用于非 macOS 设备。安德烈·吉尔达
?⬇️制作所有链接1.0.3在当前笔记中搜索其他笔记的提及,然后建立相应的链接。只需单击工具栏中的新图标。S73ph4n
?⬇️Markdown 表计算1.0.5用于自动计算降价表公式的插件。奥斯卡·斯维达
?⬇️降价表:着色1.1.4为 markdown 表语法添加颜色并帮助区分不同的列孝氏龙
?⬇️降价表:可排序1.2.2即时对呈现的表格进行排序并将其应用于降价源文本。可以识别数字、货币、日期的简单情况并进行相应的排序。孝氏龙
?⬇️数学模式0.5.3使用内联数学将您的笔记变成功能强大的计算器。迦勒约翰
?⬇️菜单项、快捷方式、工具栏图标1.1.0不属于 Joplin 核心的其他菜单项、快捷方式和工具栏图标赫尔穆特 KC Tessarek
?⬇️梅蒂斯0.1.5基于 Todo.txt 规范的 Joplin 简单任务管理器插件孝氏龙
?⬇️NLR1.0.2将joplin在记笔记的同时,变成了一个网文小说阅读器,一个joplin的中文网络文学下载器和阅读器插件。风趣
?⬇️笔记链接系统0.8.0Joplin 的完整链接系统。推荐人(又名反向链接)、快速链接、复制锚点、悬停预览、网址图标和更多功能ylc395
?⬇️笔记列表和侧边栏切换按钮1.0.3添加按钮以切换笔记列表和侧边栏洛朗·科齐奇
?⬇️笔记概览1.5.5根据定义的搜索和指定的字段创建注释概览。杰克格鲁伯
?⬇️笔记统计1.0.4获取笔记统计信息的插件阿扎玛少年
?⬇️笔记标签1.4.0允许在选项卡中一次打​​开多个笔记并将它们固定。奔吉300
?⬇️注意变量1.0.0一个用于创建可以通过所有注释访问的变量的插件。但丁·G·巴博萨
?⬇️Notes Station 导入1.0.5此插件从 QNAP Notes Station 导入笔记于尔根·哈贝尔特
?⬇️光学字符识别0.3.2Joplin 笔记中的图像、视频、pdf 文档的离线 OCR 自动/手动ylc395
?⬇️大纲1.3.1joplin 的大纲 (TOC) 侧边栏插件。
?⬇️页面发布者1.7.0从您选择的 Joplin 笔记生成静态博客网站,并发布到 Github Pages,只需点击几下鼠标。支持本地预览ylc395
⬇️特殊黏贴1.1.2用于将特殊文本粘贴到 Joplin 的插件编码器
?⬇️持久编辑器布局2.2.0使用自定义标签分别保存每个注释的编辑器布局(编辑器/拆分视图/查看器/富文本)。奔吉300
?⬇️植物UML21.9.0在 Joplin 笔记中渲染 PlantUML 图。马克0l92
?⬇️快速跳转1.2.0使用键盘快捷键切换到指定的笔记孝氏龙
?⬇️快速 HTML 标签0.2.0创建快速 HTML 标签。马丁·科雷利奇
?⬇️快速链接1.2.3创建指向其他笔记的链接罗马穆辛
?⬇️快速移动1.1.0快速将笔记移动到其他笔记本的命令集合。奔吉300
?⬇️随机笔记1.0.3从您的保管库中打开一个随机笔记阿扎玛少年
?⬇️删除图像0.0.2允许从选定的笔记中删除图像马克2002
?⬇️重复待办事项0.10.3一个强大而全面的待办事项重复/重复插件节拍链接
?⬇️资源搜索插件0.1.1在附加资源中搜索罗马穆辛
?⬇️丰富的降价0.9.0帮助您永远放弃 Markdown 查看器。迦勒约翰
?⬇️Rubi 和 Furigana1.1.0将适当的 <ruby> 和 <rt> 标签插入格式化文本以显示假名的命令。孝氏龙
?⬇️语义相似的注释0.2.1向用户显示哪些笔记在语义上与他们正在查看的笔记相似马克格林
?⬇️将片段发送到不同的笔记1.0.0将文本片段从任何笔记本发送到任何其他笔记安布特
?⬇️简单备份1.0.5用于创建手动和自动备份的插件。杰克格鲁伯
?⬇️斜线命令:日期时间等1.2.1通过键入以斜杠开头的命令来执行多个实用程序。孝氏龙
?⬇️剧透1.0.5创建带有标题和可扩展正文的内嵌剧透和剧透块。马丁·科雷利奇
?⬇️表格格式化插件1.2.1在 Markdown 编辑器中格式化光标下的表格罗马穆辛
?⬇️标记链接0.1.0自动在页脚插入标签链接刘本
?⬇️标记1.0.1用于扩展 Joplin 标记菜单的插件,其中包含复制所有标记和具有更多控制的标记对话框。(以前复制标签)。杰克格鲁伯
?⬇️标签生成器1.0.0Joplin 插件,可用于从笔记中提取关键字并将它们分配为笔记的标签强制唤醒
?⬇️模板2.2.1该插件允许您在 Joplin 中创建和使用模板。尼山特·米塔尔
?⬇️文本着色1.2.0轻松将颜色应用于文本。萨德米斯
?⬇️转向图1.6.0将 markdown 表转换为 d3js 图表塞缪尔·加涅潘
?⬇️胜利者1.0.0Victor 可用于清除所有数据 – 笔记、笔记本、附件、标签等。方便重新开始。洛朗·科齐奇
?⬇️白色主题1.2.3乔普林的白色主题节拍链接

By 行政