在NAS上快速搭建Joplin笔记云服务器
在NAS上快速搭建Joplin笔记云服务器
Joplin是一款开源、免费且支持全平台同步的笔记工具,它允许用户使用端对端加密与各种云服务安全地同步数据。为了实现更高效、稳定的同步服务,本文将详细介绍如何在NAS上搭建Joplin Cloud同步服务器。
前言
本期来介绍一个开源、免费、全平台同步的待办事项和笔记项目:Joplin。可以使用端对端加密与各种云服务安全地同步,包括Nextcloud、Dropbox、OneDrive和Joplin Cloud。
Joplin 可有效解决我们在笔记管理、跨平台同步、数据导入和信息检索等方面的痛点,提供一个灵活且安全的笔记解决方案。
为了让同步服务效率更高、更稳定,今天我们就来分享如何搭建Joplin Cloud同步服务器。
项目特点
Joplin支持从Evernote(印象笔记)导入笔记,包括格式化内容(自动转换为Markdown)、资源文件(如图片和附件)以及完整的元数据(如地理位置、更新时间和创建时间)。此外,普通的Markdown文件也可以直接导入。
Joplin 是“离线优先”的,这意味着所有数据始终保存在手机或电脑上。这可确保笔记始终可访问,无论是否有互联网连接。
Joplin提供强大的全文搜索功能,适用于全平台,快速找到所需信息。可以使用插件和主题自定义应用程序,也可以轻松创建自己的应用程序。
Joplin支持调用外部编辑器,例如Obsidian、Typora等,可以满足更多编辑需求。
Joplin可在Windows、Linux、macOS、Android和iOS设备上使用,并支持网页剪裁功能。通过浏览器扩展(适用于Firefox和Chrome),你可以保存网页内容和截图。
同时,Joplin服务器允许你与任何Joplin客户端进行数据同步,类似于使用Dropbox或OneDrive进行同步的方式。
搭建流程
建议通过Docker Compose进行搭建,方便后期维护。
准备文件目录
在常用的docker文件目录下创建一个文件夹,命名为
joplin
。如下图所示。
正式部署
以威联通NAS为例,通过Docker Compose部署。部署方法都大差不差,大家按照自己所使用平台的规定流程部署即可。
打开Container Station,创建应用程序。
代码如下:
version: '3' # 最新版Docker Compose可删除此行 services: db: image: postgres:13 volumes: - ./data/postgres:/var/lib/postgresql/data ports: - "5432:5432" # 左边的端口可以更换,右边不要动! restart: unless-stopped environment: - POSTGRES_PASSWORD=1234abcd # 密码,可自定义 - POSTGRES_USER=admin # 用户名,可自定义 - POSTGRES_DB=joplin app: image: joplin/server:latest depends_on: - db ports: - "22300:22300" # 左边的端口可以更换,右边不要动! restart: unless-stopped environment: - APP_PORT=22300 - APP_BASE_URL=https:// # 项目实际访问地址 - DB_CLIENT=pg - POSTGRES_PASSWORD=1234abcd # 与上面的密码对应! - POSTGRES_DATABASE=joplin - POSTGRES_USER=admin # 与上面的用户名对应! - POSTGRES_PORT=5432 # 与上面部分端口映射冒号右边的对应! - POSTGRES_HOST=db
以上是一个示例的 Docker Compose 文件,用于运行 Joplin Server 和 PostgreSQL 数据库,请在以下配置中更新以下环境变量:
POSTGRES_USER POSTGRES_PASSWORD APP_BASE_URL:这是服务运行的公共基础 URL。
如果需要通过互联网访问 Joplin Server,请按如下方式配置 APP_BASE_URL:反代域名。
如果 Joplin Server 不需要通过互联网访问,请将 APP_BASE_URL 设置为局域网内服务完整访问地址。 基础 URL 可以包含端口。
APP_PORT:Docker 容器监听的本地端口。
通常会通过反向代理映射到端口 443(TLS)。
如果 Joplin Server 不需要通过互联网访问,该端口可以映射到 22300。
初次使用
如上文所示,在web输入NAS_IP:22300并回车,会得到以下界面。初始邮箱和密码为:
admin@localhost/admin
。
根据提示,我们先修改密码。
如下图所示,红框内的登陆邮箱不可修改,其他皆可自定义(我已经测试过)。
保存后返回主界面,顶部黄色部分提示邮件已经发送到邮箱,但我好像并没有看到SMTP服务器设置,因此这个账户打算就先放弃不管。
还可以看到以下提示:
要开始使用 Joplin Server,请先下载适用于桌面或手机的 Joplin 应用程序。
安装应用后,打开 配置 界面,然后进入 同步 部分。在此界面中,将同步目标设置为 “Joplin Server”,并输入以下信息:
上图中显示的URL,即为服务访问地址
用户名和密码
设置完成后,Joplin Server 可同步设备,发布笔记,或与其他 Joplin Server 用户协作管理笔记本。
如下图所示,我们可以先创建一个账户,将初始账户弃用,然后再去下载应用客户端进行配置。
我这里为Mac端,在同步设置中选择
Joplin服务器(Beta)
,按照上文的提示输入服务器URL、服务器邮箱及密码并应用,可以顺便测试下同步配置。
当然我们也可以按照实际需求选择其他的同步目标,比如OneDrive、Nextcloud等。
创建一个新的笔记进行测试,可以看到显示同步成功。
Container Station的程序运行日志也显示正常。
手机端连接NAS服务器,也能同步显示。
其他注意事项
如果要外网使用,反向代理的端口为22300,相对应的部署时
APP_BASE_URL
变量以及应用使用时的
服务器URL
都应该改写为反代后的域名,非标准监听端口(80 443)也需要加上端口号。
关于网页裁剪,需要在客户端启用,然后至所支持浏览器的扩展程序商店中下载Joplin插件即可使用。
最后
我个人认为,目前的笔记工具还是没有一款能真正做到全能,都有各自的优缺点。笔者日常obsidian+joplin+typora一起使用,互补之后的综合体验还是挺不错的。
另外重要笔记内容一定记得多备份,我的博客创建目的之一就是为了备份。也最好养成不同端同步前先备份的习惯。