宝塔部署joplin server详细步骤

Joplin Server 部署与配置完整步骤

1. 环境准备

确保你有一个运行 Linux 的服务器(如 Ubuntu),并且已经安装了 Docker、Docker Compose 和宝塔面板。

1.1. 使用宝塔面板安装 Docker

    1. 登录宝塔面板。
    2. 进入软件商店:在宝塔面板左侧菜单中,点击 软件商店
    3. 搜索 Docker 管理器:找到 Docker 管理器 插件。
    4. 安装 Docker 管理器:点击 安装,安装完成后,Docker 将自动安装。

1.2. 安装 Docker Compose

    1. 进入宝塔终端:通过宝塔面板的 终端工具 或 SSH 连接到服务器。
    2. 手动安装 Docker Compose

   sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
   sudo chmod +x /usr/local/bin/docker-compose

    1. 验证 Docker 和 Docker Compose 安装:

   docker --version
   docker-compose --version

2. 获取 Joplin Server 代码

克隆 Joplin 的 GitHub 仓库,并进入 packages/server 目录:

git clone https://github.com/laurent22/joplin.git
cd joplin/packages/server

3. 创建 .env 文件

创建并编辑 .env 文件来配置数据库和应用程序:

nano .env

将以下内容粘贴到 .env 文件中,并根据需要修改:

POSTGRES_PASSWORD=password
POSTGRES_DATABASE=joplin
POSTGRES_USER=joplin
POSTGRES_PORT=5432
POSTGRES_VERSION=13.1

APP_PORT=22300
APP_BASE_URL=https://yourdomain.com
APP_SECRET=your_random_secret

4. 创建 docker-compose.yml

packages/server 目录中,创建 docker-compose.yml 文件:

version: '3'
services:
  db:
    image: postgres:13.1
    container_name: joplin_db
    environment:
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
      - POSTGRES_USER=${POSTGRES_USER}
      - POSTGRES_DB=${POSTGRES_DATABASE}
    volumes:
      - joplin-data:/var/lib/postgresql/data
    ports:
      - "${POSTGRES_PORT}:5432"

  app:
    image: joplin/server:latest
    depends_on:
      - db
    environment:
      - APP_BASE_URL=${APP_BASE_URL}
      - APP_PORT=${APP_PORT}
      - DB_CLIENT=pg
      - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
      - POSTGRES_DATABASE=${POSTGRES_DATABASE}
      - POSTGRES_USER=${POSTGRES_USER}
      - POSTGRES_PORT=${POSTGRES_PORT}
      - POSTGRES_HOST=db
      - APP_SECRET=${APP_SECRET}
    ports:
      - "${APP_PORT}:22300"
    volumes:
      - joplin-files:/srv/joplin

volumes:
  joplin-data:
  joplin-files:

5. 启动服务

启动 Joplin Server 和 PostgreSQL:

docker-compose up -d

6. 配置 PostgreSQL 数据库

首次启动后,添加用户需要进入 PostgreSQL 容器并设置数据库。

    1. 进入 PostgreSQL 容器

   docker-compose exec db psql -U joplin -d joplin

    1. 启用 pgcrypto 扩展

   CREATE EXTENSION pgcrypto;

    1. 插入用户,并根据需要修改

   INSERT INTO users (id, email, password, is_admin, updated_time, created_time) 
   VALUES (
       replace(gen_random_uuid()::varchar, '-', ''), 
       'email', 
       crypt('password', gen_salt('bf')), 
       1, 
       extract(epoch from now())::bigint,
       extract(epoch from now())::bigint
   );

    1. 退出 PostgreSQL

   \q

7. 重启 Joplin Server

确保新用户生效,重启 Joplin Server:

docker-compose restart

8. 配置宝塔面板中的 Nginx 反向代理

    • 进入宝塔面板
    • 在宝塔面板左侧,点击 网站

    • 选择你配置的域名 yourdomain.com,然后点击 设置
    • 配置反向代理:点击 反向代理,启用反向代理功能。

    • 在代理配置框中粘贴以下内容,并根据需要修改:

#PROXY-START/

location /
{
    proxy_pass http://127.0.0.1:22300;
    proxy_set_header Host yourdomain.com;
    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;
    proxy_set_header Origin https://yourdomain.com;
    proxy_set_header REMOTE-HOST $remote_addr;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_http_version 1.1;
    # proxy_hide_header Upgrade;
    #Persistent connection related configuration

    add_header X-Cache $upstream_cache_status;

    #Set Nginx Cache
    
    
    set $static_filelGyB65d2 0;
    if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
    {
    	set $static_filelGyB65d2 1;
    	expires 1m;
        }
    if ( $static_filelGyB65d2 = 0 )
    {
    add_header Cache-Control no-cache;
    }
}

#PROXY-END/

    • 点击 保存,并重载 Nginx 配置。

9. 配置 Joplin 客户端

    • 在 Joplin 客户端中,选择同步目标为 Joplin Server

    • 填写服务器 URL:https://yourdomain.com

    • 使用你在 Joplin Server 中创建的用户的邮箱 email 和密码 password

    • 点击 检查同步配置 验证连接。

10. 备份和恢复数据库

定期备份 PostgreSQL 数据库以防数据丢失。备份和恢复的步骤如下:

    1. 备份数据库

   docker exec -t joplin_db pg_dumpall -c -U joplin > backup.sql

    1. 恢复数据库
      如果需要恢复数据,可以使用以下命令:

   cat backup.sql | docker exec -i joplin_db psql -U joplin

总结

通过这些步骤,你可以使用宝塔面板来部署 Joplin Server、设置反向代理,并配置 Joplin 客户端进行同步。该流程还包含数据库备份和恢复的操作,以确保数据的安全性。如果在过程中遇到任何问题,可以留言咨询。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容