Docker 部署 joplin server

碎碎念

丢人的我在搞两个服务器之间跑的玩具之间的迁移,
结果 Nextcloud 给我每个.md文件都生成了预览
索性破罐子破摔,直接用prelease的joplin server算了。



参考文档 https://github.com/laurent22/joplin/blob/dev/packages/server/README.md
  • 确保你做好了joplin的离线备份,笔记丢了那就得不偿失了
    图片

docker 安装

1.先更新
apt update && apt upgrade
2.安装 docker
curl -sSL https://get.docker.com/ | sh
3.启动 docker
systemctl enable docker && systemctl start docker
4.安装 docker-compose
apt install docker-compose
5.创建目录
mkdir joplin
6.进入目录
cd joplin
7.创建 docker-compose.yml 文件
vim docker-compose.yml#或者用其他你喜欢的编辑器
8.复制粘贴

  • 注意把你的域名 更换为你自己的域名
    *同样的最好也改下密码
version: '3'
services:
    db:
        image: postgres:13.1
        ports:
            - "5432:5432"
        restart: unless-stopped
        environment:
            - APP_PORT=22300
            - POSTGRES_PASSWORD=密码
            - POSTGRES_USER=user
            - POSTGRES_DB=joplin
    app:
        image: joplin/server:latest
        depends_on:
            - db
        ports:
            - "22300:22300"
        restart: unless-stopped
        environment:
            - APP_BASE_URL=https://你的域名/
            - DB_CLIENT=pg
            - POSTGRES_PASSWORD=密码
            - POSTGRES_DATABASE=joplin
            - POSTGRES_USER=user
            - POSTGRES_PORT=5432
            - POSTGRES_HOST=db

9.然后安装
docker-compose up -d

至此算可用了


如果你希望用上 https

1.安装 Nginx
apt install nginx
systemctl enable nginx && systemctl start nginx
(如果出现报错一般都是你80或者443已经在跑某个东西了,请自行检查)
2.写配置文件
vim /etc/nginx/conf.d/joplin.conf
3.复制粘贴

  • 随便写的配置文件,只保证可用(

    server {
    server_name  你的域名;
    listen 80;
    #return 301 https://$server_name$request_uri;
        location / {
        proxy_pass http://127.0.0.1:22300;
        proxy_set_header  Host                $http_host;
        proxy_set_header  X-Real-IP           $remote_addr;
        proxy_set_header  X-Forwarded-Ssl     on;
        proxy_set_header  X-Forwarded-For     $proxy_add_x_forwarded_for;
        proxy_set_header  X-Forwarded-Proto   $scheme;
        proxy_set_header  X-Frame-Options     SAMEORIGIN;
    
        client_max_body_size        100m;
        client_body_buffer_size     128k;
    
        proxy_buffer_size           4k;
        proxy_buffers               4 32k;
        proxy_busy_buffers_size     64k;
        proxy_temp_file_write_size  64k;
    }
    }

    4.安装 certbot 配置https
    apt install python-certbot-nginx
    5.使用 certbot
    certbot
    6.跟着提示走(不想详说了,报错说明你 nginx 配置有问题 请nginx -t
    7.然后选 redirect(配置自动重定向 https )
    8.然后nginx -s reload


登陆 web 管理页面
https://你的域名/login
默认帐号 admin@localhost
默认密码 admin

同步到服务器上

重点

你必须先检查一次配置文件正确性才能正常同步,否则会一直报错上级目录不存在(这玩意好像是在检查配置的时候才会在服务器上生成同步文件夹的)
一有不甚会丢失所有笔记,请先备份

声明,也许这不是最好的做法

1.导出配置后,卸载并,删除 joplin 所有配置/文件
linux 下joplin的安装路径应该是 /home/用户名/.config在里面搜索出joplin的文件夹全删了就行。
2.重新安装 joplin 并填好同步服务器检查配置
3.导入备份文件,同步


发表评论

邮箱地址不会被公开。 必填项已用*标注