Joplin私有云笔记部署实践
环境变量配置
在docker-compose同级目录新建一个环境变量文件.env:
.env
POSTGRES_PASSWORD=joplin
POSTGRES_USER=joplin
POSTGRES_DB=joplin
APP_PORT=22300
APP_BASE_URL=https://your-domain.comdocker-compose.yml
docker-compose.yml
version: "3.8"
services:
db:
image: postgres:13
volumes:
- ./data/postgres:/var/lib/postgresql/data
ports:
- "5432:5432"
restart: unless-stopped
environment:
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_DB=${POSTGRES_DB}
app:
image: joplin/server:latest
depends_on:
- db
ports:
- "${APP_PORT}:${APP_PORT}"
restart: unless-stopped
environment:
- APP_PORT=${APP_PORT}
- APP_BASE_URL=${APP_BASE_URL}
- DB_CLIENT=pg
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DATABASE=${POSTGRES_DB}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PORT=5432
- POSTGRES_HOST=db部署命令
# 创建项目目录
mkdir joplin-server
cd joplin-server
# 创建环境变量文件
touch .env
# 创建docker-compose.yml文件
touch docker-compose.yml
# 启动服务
docker-compose up -d反向代理配置(Nginx示例)
server {
listen 80;
server_name your-domain.com;
location / {
proxy_pass http://localhost:${APP_PORT};
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;
}
}初始化与使用
首次访问:打开浏览器访问配置的URL,使用默认管理员账户登录(admin/admin)
创建用户:建议创建自己的用户账户,而不是使用默认管理员账户
配置同步:在Joplin客户端中配置同步服务为你的自建Joplin服务器
注意事项
数据备份:定期备份PostgreSQL数据目录
端口冲突:确保22300端口未被其他服务占用
SSL配置:建议使用Let's Encrypt配置HTTPS
内存要求:至少2GB内存,推荐4GB以上
数据库性能:对于大量笔记,考虑调整PostgreSQL配置
故障排除
常见问题
无法访问:
docker-compose ps # 检查服务状态 docker-compose logs app # 查看应用日志数据库连接错误:
docker-compose logs db # 查看数据库日志应用无法启动:检查
APP_BASE_URL配置是否正确,确保域名可访问
升级指南
# 拉取最新镜像
docker-compose pull
# 重新构建并启动
docker-compose up -d --force-recreate相关资源
Joplin官方文档 Docker Hub - Joplin Server PostgreSQL官方文档
© 2026 Joplin部署指南 | 技术文档
评论区