Joplin Server 私有化部署指南 - Docker 一键搭建个人笔记云端
拥有自己的笔记云端,数据完全掌控,支持多端同步
Joplin 是一款开源的笔记和待办事项应用,支持 Markdown、端到端加密、多平台同步。通过 Docker 部署 Joplin Server,你可以轻松搭建属于自己的笔记云端,摆脱第三方服务的限制。
为什么选择 Joplin?
- 📝 Markdown 支持 - 原生支持 Markdown 语法,写作体验流畅
- 🔐 端到端加密 - 数据加密存储,只有你能访问
- 🌐 多端同步 - Windows、macOS、Linux、iOS、Android 全平台支持
- 🎯 开源免费 - 完全开源,无订阅费用
- 📦 自托管 - 数据掌握在自己手中
部署前准备
环境要求
- Docker 20.10+
- Docker Compose(可选)
- 域名(可选,用于外网访问)
网络规划
本文假设你已有一个 Nginx 反向代理网络 halonginx,如果没有,可以创建:
docker network create halonginx
一、核心部署步骤
1. 准备工作
# 创建 Joplin 工作目录并进入
mkdir -p ~/joplin-server && cd ~/joplin-server
# 拉取 Joplin 服务端和 PostgreSQL 镜像
docker pull joplin/server:latest
docker pull postgres:latest
2. 部署 PostgreSQL 数据库
docker run -d --name postgres --network halonginx --restart=always \
-e POSTGRES_PASSWORD=<你的数据库密码> \
-e POSTGRES_USER=joplin \
-e POSTGRES_DB=joplin \
-p 5432:5432 \
postgres:latest
参数说明:
--restart=always- 开机自启,服务器重启后自动运行--network halonginx- 与 Joplin 同网络,容器间可通过容器名访问POSTGRES_PASSWORD- ⚠️ 请替换为你的强密码
3. 配置环境变量
创建 .env 文件:
cat > .env << EOF
APP_BASE_URL=http://joplin.yourdomain.com
DB_CLIENT=pg
DB_HOST=postgres
DB_PORT=5432
DB_NAME=joplin
DB_USER=joplin
DB_PASSWORD=<你的数据库密码>
EOF
关键配置:
APP_BASE_URL- 替换为你的域名或服务器 IP:端口DB_PASSWORD- 与上面 PostgreSQL 密码保持一致
4. 启动 Joplin Server
docker run -d --name joplin --network halonginx --restart=always \
--env-file .env \
-p 22300:22300 \
joplin/server:latest
端口说明:
22300- Joplin Server 默认端口- 如需外网访问,确保防火墙开放此端口
5. 创建管理员账号
docker exec -it joplin node /home/joplin/packages/server/dist/app.js user set-admin --email <你的邮箱> --is-admin 1
执行后会提示设置管理员密码,按提示输入即可。
二、Nginx 反向代理(可选)
如需通过域名访问,配置 Nginx 反向代理:
server {
listen 80;
server_name joplin.yourdomain.com;
location / {
proxy_pass http://joplin:22300;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
如需 HTTPS,使用 Certbot 配置 SSL 证书。
三、客户端配置
macOS / Windows / Linux
- 下载并安装 Joplin 客户端:https://joplinapp.org/
- 打开设置 → 同步 → 同步目标:Joplin Server
- 填写服务器地址:
http://joplin.yourdomain.com(或http://你的 IP:22300) - 输入邮箱和密码
- 点击"同步"开始同步
iOS / Android
- 在应用商店搜索"Joplin"下载安装
- 设置 → 同步 → Joplin Server
- 填写服务器信息和账号
- 开始同步
四、常用运维命令
# 查看运行日志
docker logs -f joplin
# 进入容器内部
docker exec -it joplin bash
# 进入数据库
docker exec -it postgres psql -U joplin -d joplin
# 重启服务
docker restart joplin
# 停止服务
docker stop joplin postgres
# 删除容器(重新部署时用)
docker rm -f joplin postgres
# 查看磁盘占用
docker system df
五、数据备份
备份 PostgreSQL 数据
# 导出数据库
docker exec postgres pg_dump -U joplin joplin > joplin_backup.sql
# 恢复数据库
docker exec -i postgres psql -U joplin joplin < joplin_backup.sql
备份配置文件
# 备份 .env 文件
cp .env .env.backup.$(date +%Y%m%d)
六、故障排查
容器无法启动
# 查看日志
docker logs joplin
# 检查端口占用
lsof -i :22300
无法连接数据库
# 检查数据库容器状态
docker ps | grep postgres
# 测试数据库连接
docker exec joplin nc -zv postgres 5432
重置管理员密码
docker exec -it joplin node /home/joplin/packages/server/dist/app.js user password --email <你的邮箱>
总结
通过以上步骤,你可以在 10 分钟内搭建起属于自己的 Joplin 笔记云端:
- ✅ 数据完全私有,不受第三方服务限制
- ✅ 多端实时同步,随时随地访问笔记
- ✅ 端到端加密,保障数据安全
- ✅ 开源免费,无订阅费用
下一步建议:
- 配置 HTTPS 加密传输
- 设置定期数据库备份
- 配置邮件通知(用于密码找回等)
- 监控服务器资源使用情况
参考链接:
- Joplin 官网:https://joplinapp.org/
- Joplin Server 文档:https://joplinapp.org/help/dev/spec/server/
- Docker Hub:https://hub.docker.com/r/joplin/server
最后更新:2026-03-03


评论区