
我之前一直是“笔记写一半、换设备就丢同步”的痛苦使用者:手机有一份、电脑有一份、平板还一份,最后变成“每台设备都有不同版本的我”。后来换成 Joplin 之后,体验直接起飞:它是开源的,支持 Windows / macOS / Linux / iOS / Android,笔记还能用 Markdown,最关键的是——可以自建同步服务,数据掌握在自己手里,不用依赖第三方。
这篇就按我自己的搭建过程,手把手把 Joplin Server 部署到服务器上,最后用客户端连上实现多端同步。

Joplin 本身是客户端笔记软件,但“真正好用”的核心是同步:
多设备实时同步(手机、电脑、平板)
支持端到端加密(E2EE)
数据自己掌控(服务器在你手里)
做团队共享也方便(Joplin Server 支持多用户)
如果你对“隐私、长期可控、迁移方便”比较看重,自建这条路很值得。
部署 Joplin Server 并不吃资源,但要稳定、网络别太差:
CPU:1 核起步(2 核更舒服)
内存:1GB 起步(2GB 更稳)
硬盘:20GB 起(看你笔记附件量)
系统:Ubuntu 20.04/22.04、Debian 11/12 都行
开放端口:建议用 80/443 做反代(更安全更省心)
我这里推荐用莱卡云服务器来搭建,原因很简单:新装系统干净、网络线路可选、后面你要加反代/证书/备份也方便(不需要为了装个笔记服务折腾半天环境)。
Joplin Server 用 Docker 部署最省事,升级也好升级。
Ubuntu/Debian(示例)
apt update apt install -y docker.io docker-compose systemctl enable --now docker
验证一下:
docker version docker-compose version
建议单独建个目录:
mkdir -p /opt/joplin cd /opt/joplin
创建 docker-compose.yml:
version: "3" services: db: image: postgres:16 container_name: joplin-postgres restart: unless-stopped environment: POSTGRES_USER: joplin POSTGRES_PASSWORD: 这里换成强密码 POSTGRES_DB: joplin volumes: - ./pgdata:/var/lib/postgresql/data app: image: joplin/server:latest container_name: joplin-server restart: unless-stopped depends_on: - db environment: APP_BASE_URL: "https://你的域名" APP_PORT: 22300 DB_CLIENT: pg POSTGRES_PASSWORD: 这里换成强密码 POSTGRES_DATABASE: joplin POSTGRES_USER: joplin POSTGRES_PORT: 5432 POSTGRES_HOST: db ports: - "22300:22300"
启动:
docker-compose up -d docker ps
此时访问:http://服务器IP:22300
能打开页面就说明服务起来了。
实际使用我不建议直接裸端口对外,最好走域名 + 443。
如果你已经有 Nginx(或面板自带反代),就加一段反代配置(示例):
server { listen 80; server_name 你的域名; location / { proxy_pass http://127.0.0.1:22300; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
然后再上证书(Let’s Encrypt 或你自己的证书都行)。
证书这块你如果已经有现成的部署习惯,就按你熟悉的来。
小提醒(我踩过坑):
APP_BASE_URL 一定要填最终对外访问的 URL(https://域名)。
否则登录跳转、回调地址可能会怪怪的。
首次打开 Joplin Server 页面,会让你登录/创建用户。
创建完账号后,记住你的服务器地址就是:
https://你的域名
以桌面端为例(手机端同理):
打开 Joplin
设置 → 同步
同步目标选择:Joplin Server
填入:
服务器地址:https://你的域名
用户名、密码:你在服务端创建的账号
点击“检查同步配置”,成功后开始同步
如果你启用了端到端加密(E2EE),第一次同步会慢一点,属于正常现象。
Markdown 写起来很顺手,结构清晰
支持附件、图片、代码块,写技术笔记非常舒服
多端同步稳定(前提是你服务器稳定)
数据自己可控,迁移也简单(备份 Postgres + 数据卷即可)
我自己的习惯是备份 /opt/joplin 这个目录:
pgdata/:数据库数据
docker-compose.yml:配置文件(也很重要)
最简单就是定期打包备份到对象存储/另一台机器。
如果你也跟我一样,想要一个“跨平台、开源、可长期使用、数据自己掌控”的笔记系统,Joplin + 自建 Joplin Server 是非常稳的一套方案。部署难度不高,后期维护也省心。
服务器方面我建议直接用莱卡云服务器来搭建,环境干净、部署顺滑,后面你要加监控、备份、反代证书、甚至扩容,也都比较好处理。