侧边栏壁纸
博主头像
可乐没气的猫博主等级

四分之一的职业法师|二次元的分享家

  • 累计撰写 16 篇文章
  • 累计创建 6 个标签
  • 累计收到 19 条评论

目 录CONTENT

文章目录

20260303 Joplin Server 私有化部署指南 - Docker 一键搭建个人笔记云端

可乐没气的猫
2026-03-03 / 0 评论 / 0 点赞 / 7 阅读 / 2,929 字

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

  1. 下载并安装 Joplin 客户端:https://joplinapp.org/
  2. 打开设置 → 同步 → 同步目标:Joplin Server
  3. 填写服务器地址:http://joplin.yourdomain.com(或 http://你的 IP:22300
  4. 输入邮箱和密码
  5. 点击"同步"开始同步

iOS / Android

  1. 在应用商店搜索"Joplin"下载安装
  2. 设置 → 同步 → Joplin Server
  3. 填写服务器信息和账号
  4. 开始同步

四、常用运维命令

# 查看运行日志
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 笔记云端:

  1. ✅ 数据完全私有,不受第三方服务限制
  2. ✅ 多端实时同步,随时随地访问笔记
  3. ✅ 端到端加密,保障数据安全
  4. ✅ 开源免费,无订阅费用

下一步建议:

  • 配置 HTTPS 加密传输
  • 设置定期数据库备份
  • 配置邮件通知(用于密码找回等)
  • 监控服务器资源使用情况

参考链接:


最后更新:2026-03-03

0

评论区