教你使用服务器搭建一款开源的跨平台笔记应用 Joplin(自建同步)
莱卡云
2025年12月15日 15:16
云服务器教程

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

这篇就按我自己的搭建过程,手把手把 Joplin Server 部署到服务器上,最后用客户端连上实现多端同步。

1)为什么要自建 Joplin 同步?

Joplin 本身是客户端笔记软件,但“真正好用”的核心是同步:

  • 多设备实时同步(手机、电脑、平板)

  • 支持端到端加密(E2EE)

  • 数据自己掌控(服务器在你手里)

  • 做团队共享也方便(Joplin Server 支持多用户)

如果你对“隐私、长期可控、迁移方便”比较看重,自建这条路很值得。

2)准备一台服务器(建议配置)

部署 Joplin Server 并不吃资源,但要稳定、网络别太差:

  • CPU:1 核起步(2 核更舒服)

  • 内存:1GB 起步(2GB 更稳)

  • 硬盘:20GB 起(看你笔记附件量)

  • 系统:Ubuntu 20.04/22.04、Debian 11/12 都行

  • 开放端口:建议用 80/443 做反代(更安全更省心)

我这里推荐用莱卡云服务器来搭建,原因很简单:新装系统干净、网络线路可选、后面你要加反代/证书/备份也方便(不需要为了装个笔记服务折腾半天环境)。

3)安装 Docker & Docker Compose

Joplin Server 用 Docker 部署最省事,升级也好升级。

Ubuntu/Debian(示例)

apt update apt install -y docker.io docker-compose systemctl enable --now docker

验证一下:

docker version docker-compose version

4)准备 Joplin Server 的 docker-compose.yml

建议单独建个目录:

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

能打开页面就说明服务起来了。

5)强烈建议:用 Nginx 反向代理 + HTTPS

实际使用我不建议直接裸端口对外,最好走域名 + 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://域名)。

否则登录跳转、回调地址可能会怪怪的。

6)登录后台 & 创建账号

首次打开 Joplin Server 页面,会让你登录/创建用户。

创建完账号后,记住你的服务器地址就是:

  • https://你的域名

7)客户端配置同步(桌面/手机通用)

以桌面端为例(手机端同理):

  1. 打开 Joplin

  2. 设置 → 同步

  3. 同步目标选择:Joplin Server

  4. 填入:

    • 服务器地址:https://你的域名

    • 用户名、密码:你在服务端创建的账号

  1. 点击“检查同步配置”,成功后开始同步

如果你启用了端到端加密(E2EE),第一次同步会慢一点,属于正常现象。

8)我实际用下来最爽的几点

  • Markdown 写起来很顺手,结构清晰

  • 支持附件、图片、代码块,写技术笔记非常舒服

  • 多端同步稳定(前提是你服务器稳定)

  • 数据自己可控,迁移也简单(备份 Postgres + 数据卷即可)

9)备份建议(别等丢了才想起来)

我自己的习惯是备份 /opt/joplin 这个目录:

  • pgdata/:数据库数据

  • docker-compose.yml:配置文件(也很重要)

最简单就是定期打包备份到对象存储/另一台机器。

结尾

如果你也跟我一样,想要一个“跨平台、开源、可长期使用、数据自己掌控”的笔记系统,Joplin + 自建 Joplin Server 是非常稳的一套方案。部署难度不高,后期维护也省心。

服务器方面我建议直接用莱卡云服务器来搭建,环境干净、部署顺滑,后面你要加监控、备份、反代证书、甚至扩容,也都比较好处理。