Joplin 是一个开源的笔记工具,拥有 Windows/macOS/Linux/iOS/Android/Terminal 版本的客户端。多端同步功能是笔记工具最重要的功能,只有实现了多端同步,我们才能在工作电脑和手机之间无缝切换笔记体验。
本文介绍如何在自己的服务器上利用docker搭建 Joplin Server,并对同步进行配置,再结合cpolar内网穿透工具实现公网远程访问本地Joplin Sever。
1. 安装Docker
本篇文章演示环境为CentOS 7,使用Xshell7进行ssh,需安装Docker,小编在本地Windows中已安装Joplin app,如未安装可到 Joplin官网中安装下载,支持多个版本下载。
Joplin官网地址:https://joplinapp.org/
没有安装Docker的小伙伴需安装Docker:
本教程操作环境为Linux CentOS 7系统,在开始之前,我们需要先安装Docker。
在终端中执行下方命令:
添加Docker源
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
安装Dokcer包
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
通过运行映像来验证 Docker 引擎安装是否成功
sudo docker run hello-world
2. 自建Joplin服务器
建立 /data/joplin/docker-compose.yml 文件,首先创建一个/data/joplin/目录
mkdir -p /data/joplin
进入joplin目录中
cd data/joplin
添加compose配置文件
vim docker-compose.yml
内容如下
version: '3'
services:
db:
image: postgres:13
volumes:
- ./data/postgres:/var/lib/postgresql/data
ports:
- "5432:5432"
restart: unless-stopped
environment:
- POSTGRES_PASSWORD=joplin
- POSTGRES_USER=joplin
- POSTGRES_DB=joplin
app:
image: joplin/server:latest
depends_on:
- db
ports:
- "22300:22300"
restart: unless-stopped
environment:
- APP_PORT=22300
- APP_BASE_URL=https://joplin.cpolar.cn
- DB_CLIENT=pg
- POSTGRES_PASSWORD=joplin
- POSTGRES_DATABASE=joplin
- POSTGRES_USER=joplin
- POSTGRES_PORT=5432
- POSTGRES_HOST=db
在/data/joplin/目录中,执行
docker compose up -d
打开新的浏览器访问 http://192.168.149.143:22300,本机IP加上端口号
默认用户名admin@localhost密码admin
3. 搭建Joplin Sever
在Joplin客户端中,点击上方工具,选择 选项
,点击 同步
,同步目标选择 JoplinServer,
Joplin服务器URL:https://joplin.cpolar.cn
Joplin服务器邮箱:选择admin@localhost或者在管理页面自行创建
Jpolin服务器密码:选择admin或者在管理页面自行创建
点“检查同步配置”,显示“成功!同步配置看起来没问题”即可
这个时候我们在客户端编辑完文章后,回到 Joplin主界面点击 同步
我们再回到 JoplinServer界面来看一下数据库是否同步,重新登陆一下,可以看到后台文件
我们就成功在本地搭建了Joplin Server,但是想实现无需公网IP环境来远程访问Joplin Server里的数据库内容,就需要借助cpolar内网穿透工具来实现公网访问了!接下来介绍一下如何安装cpolar内网穿透并实现Joplin Server公网访问!
4. 安装cpolar内网穿透
下面是安装cpolar步骤:
cpolar官网地址: https://www.cpolar.com
- 使用一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
- 向系统添加服务
sudo systemctl enable cpolar
- 启动cpolar服务
sudo systemctl start cpolar
cpolar安装成功后,在外部浏览器上访问Linux 的9200端口即:【http://服务器的局域网ip:9200】,使用cpolar账号登录,登录后即可看到cpolar web 配置界面,结下来在web 管理界面配置即可。
5. 创建远程连接的固定公网地址
我们接下来为其配置固定的HTTP端口地址,该地址不会变化,还可以自定义域名,方便分享给别人长期查看你的博客,而无需每天重复修改服务器地址。
配置固定http端口地址需要将cpolar升级到专业版套餐或以上。
登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称
保留成功后复制保留成功的二级子域名的名称
回到cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道
:
- 隧道名称:可自定义,注意不要与已有的隧道名称重复,本例使用了:joplin
- 协议:http
- 本地地址:22300
- 域名类型:二级子域名
- Sub Domain:Joplin (刚才创建的二级子域名)
- 地区:选择China
- 点击
高级
,选择Host头域 填写joplin.cpolar.cn
点击创建
创建成功后,打开左侧在线隧道列表,查看刚刚创建隧道后生成两个公网地址,接下来就可以在其他电脑(异地)上,使用任意一个地址复制到浏览器访问即可,登陆后可以看到数据库信息。
这样一个固定且永久不变的公网地址就设置好了,并且无需公网IP环境,无需额外购买服务器!成功实现了在异地我们也可以进行远程访问JoplinServer!