从以下角度介绍
- 使用语法
- vps部署webdav实现远程同步
- 笔记冲突处理
joplin 是什么?
Joplin是一个开源的笔记和待办事项应用,可以处理大量的笔记,组织在笔记本和标签中,并且支持搜索。它是跨平台的,有Windows、macOS、Linux、Android和iOS版本。Joplin允许用户通过Markdown格式来编写笔记,同时也支持查看Markdown渲染后的效果。此外,Joplin还支持同步到云服务,如webDav, Nextcloud、Dropbox、OneDrive等。
本文中我们将使用WebDAV部署joplin的同步业务!
WebDAV(Web-based Distributed Authoring and Versioning)是一种基于HTTP 1.1协议的通信协议,用于用户编辑和管理存储在服务器上的文件。WebDAV允许用户以协作的方式在任何位置编辑和管理文件,使得文档的创建和更新变得更加方便。它支持文件的版本控制,可以对文件进行锁定和解锁,防止多人同时编辑同一文件时发生冲突。WebDAV也被许多应用程序用作文件传输协议,例如在一些云存储服务中,用户可以通过WebDAV协议上传和下载文件。
joplin 官网
joplin使用markdown格式,这使得我们可以将精力集中于内容上,而无需过多关注格式排版!
- markdown 语法
- https://joplinapp.org/help/apps/markdown/
使用docker部署webdav 使joplin拥有多端同步的能力
- 需要一台vps
- 需要有docker环境
以ubuntu和centos7为例
#更新系统软件包:
sudo apt update
#安装必要的软件包,以便通过HTTPS使用存储库:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
#添加Docker的官方 GPG 密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
#启用Docker的稳定存储库:
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
#更新软件包索引:
sudo apt update
#安装Docker引擎:
sudo apt install docker-ce docker-ce-cli containerd.io
#验证Docker是否正确安装并运行:
sudo docker run hello-world
运行以上命令后,如果您看到类似以下输出,则表示Docker已成功安装并正在运行:
Hello from Docker!
- 部署webdav
- 说明:Docker Run适用于单个容器的简单场景,而Docker Compose适用于多个容器组成的复杂应用程序的管理和编排
- docker run 方式
docker run -d -p 82:80 --name my-webdav -e USERNAME=admin -e PASSWORD= 123456 -v /www/wwwroot/webDav:/var/lib/dav/data bytemark/webdav
- docker compose 方式
version: '3'
services:
my-webdav: #容器名称可自行定义
image: bytemark/webdav # 使用的镜像
restart: always # 容器总是重新启动
ports:
- "82:80" # 端口映射,将容器的82端口映射到主机的80端口
environment:
- USERNAME=admin # 环境变量,设置用户名为admin
- PASSWORD=123456 # 环境变量,设置密码为123456
volumes:
- /www/data/webdav_data/test:/var/lib/dav/data # 卷映射,将主机的/www/wwwroot/webDav目录映射到容器的/var/lib/dav/data目录
部署成功后通过ip端口访问将会出现以下页面

部署失败通过
#查看错误信息【my-webdav以上自定义的容器名称】
docker logs my-webdav
- 设置同步信息
顶部菜单:工具-》选项-》同步

检查同步配置出现成功提示

冲突解决
冲突原因
1. 同时编辑相同的笔记:如果多个用户或设备同时编辑同一篇笔记,并且在同一时间内进行了不同的修改,就会导致冲突。
2. 同步延迟或错误:当Joplin在多个设备之间进行同步时,如果存在同步延迟或同步错误,可能会导致冲突。例如,如果一台设备在离线状态下进行了修改,并稍后与其他设备进行同步,而在此期间其他设备也对相同的笔记进行了修改,就会发生冲突。
3. 多个账户同时访问:如果多个用户使用同一个Joplin账户,并且在不同的设备上同时编辑笔记,也可能导致冲突。
冲突处理
- 安装插件
- 顶部菜单 工具-》选项-》插件 搜索 Conflict Resolution安装
- 选择冲突文件,右击 点击Conflict选项出现如下图所示,
冲突解决类似git 左右对比
1冲突图片

2.解决冲突

