基于Joplin和Joplin Server搭建私有云笔记

我们知道,多端同步功能是笔记工具最重要的功能。只有实现了多端同步,我们才能在工作电脑和手机之间无缝切换笔记体验。Joplin 在同步上做得不错,支持 Dropbox、OneDrive 和 AWS s3(当然国内都没法用),支持 WebDAV 协议,也支持自家的 Joplin Server。

本文介绍如何在自己的服务器上搭建 Joplin Server,并配置好 Joplin Desktop 的同步功能。

前置条件

  • 安装docker

创建 Joplin Server 配置文件

创建配置文件~/docker/joplin/.env

APP_BASE_URL=https://your-sample-url
APP_PORT=22300

Joplin Server 推荐使用PostgreSQL数据库,这里直接用 SQLite 数据库(默认)。

创建 Docker Volumes

由于采用了 SQLite 数据库,而 Docker 默认每次运行都会使用隔离的资源,这会导致之前的同步内容丢失。

我们需要考虑数据持久化的问题,创建一个 Volume:

# 创建名为 joplin 的 volume
docker volume create joplin

下面的命令查看 volume 是否创建成功,可以看到,volumns 文件夹位于 /var/lib/docker 中。

$ docker volume inspect joplin
[
    {
        "CreatedAt": "2021-02-24T09:22:14+08:00",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/joplin/_data",
        "Name": "joplin",
        "Options": {},
        "Scope": "local"
    }
]

运行 Joplin Serve

下面的命令在后台运行 Joplin Server,名称为 joplin_server,绑定端口为 22300,并把容器的 /home/joplin 绑定到 joplin 这个 volume:

docker run -d --name joplin_server -v joplin:/home/joplin --env-file ~/docker/joplin/.env -p 22300:22300 joplin/server:latest
version: '3'

services:
  nginx:
    image: joplin/server:latest
    ports:
      - "22300:22300"
    container_name: joplin_server
    restart: unless-stopped
    # volumes:
    #   - ~/docker/joplin/volume:/home/joplin
    environment:
      - APP_BASE_URL=${APP_BASE_URL}
      - APP_PORT=${APP_PORT}

使用下面的命令查看运行状态:

$ docker ps -a
CONTAINER ID   IMAGE                  COMMAND                  CREATED      STATUS      PORTS                      NAMES
6074fa330192   joplin/server:latest   "docker-entrypoint.s…"   3 days ago   Up 3 days   0.0.0.0:22300->22300/tcp   joplin_server

使用下面的命令重启容器:

docker container restart joplin_server

配置 Nginx

nginx 配置服务器

server {
        server_tokens off;
        root /srv/www/html;
        index index.html index.htm;
        server_name your-domain
        client_max_body_size 100m;

        location / { try_files $uri $uri/ @joplin; }
        location @joplin {
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header Host $http_host;
                proxy_redirect off;
                proxy_pass http://localhost:22300;
        }
}

在这里插入图片描述

配置 Joplin Desktop

在这里插入图片描述

同步目标选择 Joplin Server。

服务器 URL 保持和 .env 配置文件中的 APP_BASE_URL 配置相同。

Joplin Server 支持多个客户端同步,可以把每个客户端的内容同步到不同的服务器目录。不同的目录可以在 Joplin Server 后台看到。如果你只有一个客户端,那么随便填写一个英文字符串就好。

登录进入 https://your-sample-url/login ,使用默认的账户名 admin@localhost 和密码 admin 登录,然后修改账号和密码即可。在这里插入图片描述
在移动设备上也可以进行相同的设置。移动设备有个「同步状态」功能可以看到当前的同步状态:
在这里插入图片描述

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值