多端同步新解法:Joplin+cpolar联合通过开源设计实现跨平台无缝协作?

文章目录

    • 前言
    • [1. 安装Docker](#1. 安装Docker)
    • [2. 自建Joplin服务器](#2. 自建Joplin服务器)
    • [3. 搭建Joplin Sever](#3. 搭建Joplin Sever)
    • [4. 安装cpolar内网穿透](#4. 安装cpolar内网穿透)
    • [5. 创建远程连接的固定公网地址](#5. 创建远程连接的固定公网地址)

前言

在笔记工具领域,"数据主权"与"跨设备兼容性"的平衡始终是核心挑战。Joplin通过以下技术创新脱颖而出:

  1. 去中心化架构:支持自托管服务器或第三方云服务(如Nextcloud);
  2. 端到端加密:确保本地数据库与云端传输的安全性;
  3. 轻量级客户端:提供从桌面系统到终端的全平台覆盖。

对于需要深度控制数据流的用户,Joplin与cpolar的结合提供了额外灵活性------例如通过cpolar将私有服务器暴露为公网地址(如xxx.cpolar.io:41184),即可在保持数据本地化的同时实现:

  • 移动端随时访问公司内网中的笔记数据库;
  • 团队协作时快速同步加密的项目文档。

本文介绍如何在自己的服务器上利用docker搭建 Joplin Server,并对同步进行配置,再结合cpolar内网穿透工具实现公网远程访问本地Joplin Sever。

1. 安装Docker

本篇文章演示环境为CentOS 7,使用Xshell7进行ssh,需安装Docker,小编在本地Windows中已安装Joplin app,如未安装可到 Joplin官网中安装下载,支持多个版本下载。

Joplin官网地址:https://joplinapp.org/

如果未安装Docker可参考:

  • 安装软件包(提供实用程序)并设置存储库

    shell 复制代码
    $ sudo yum install -y yum-utils
    $ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

    安装Docker引擎

    shell 复制代码
    sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

    启动Docker

    复制代码
    sudo systemctl start docker

    通过运行映像来验证 Docker 引擎安装是否成功

    shell 复制代码
    sudo docker run hello-world
  • 启动Docker:

shell 复制代码
 systemctl start docker
  • 检查docker版本
shell 复制代码
docker -v
  • **检查docker compose版本:**确保2.0以上版本
shell 复制代码
docker compose version

2. 自建Joplin服务器

建立 /data/joplin/docker-compose.yml 文件,首先创建一个/data/joplin/目录

shell 复制代码
mkdir -p /data/joplin

进入joplin目录中

shell 复制代码
cd /data/joplin

添加compose配置文件

shell 复制代码
vim docker-compose.yml

内容如下

shell 复制代码
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/目录中,执行

shell 复制代码
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

  • 使用一键脚本安装命令
shell 复制代码
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • 向系统添加服务
shell 复制代码
sudo systemctl enable cpolar
  • 启动cpolar服务
shell 复制代码
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!

这种组合既满足了开源工具的自主性,又解决了私有部署场景下的远程接入痛点。

本篇文章知识点来源[cpolar官网][https://www.cpolar.com]

  1. cpolar博客:配置二级子域名: https://www.cpolar.com/blog/configure-the-secondary-subdomain-name
  2. cpolar博客:配置自定义域名: https://www.cpolar.com/blog/configure-your-own-domain-name
  3. cpolar博客:配置固定TCP端口地址: https://www.cpolar.com/blog/configure-fixed-tcp-port-address
  4. cpolar博客:配置固定FTP地址: https://www.cpolar.com/blog/configure-fixed-ftp-address
相关推荐
SeaTunnel3 小时前
从《中国开源年度报告》看中国开源力量的十年变迁中,Apache SeaTunnel 的跃迁
开源·apache
时序数据说6 小时前
为什么要选择时序数据库IoTDB?
大数据·数据库·物联网·开源·时序数据库·iotdb
NocoBase6 小时前
GitHub 上 Star 数量前 20 的开源 AI 项目
langchain·开源·openai
zkmall8 小时前
移动商城平台适配:ZKmall开源商城鸿蒙 / 小程序端开发要点
小程序·开源·harmonyos
计算机科研圈17 小时前
字节Seed发布扩散语言模型,推理速度达2146 tokens/s,比同规模自回归快5.4倍
人工智能·语言模型·自然语言处理·数据挖掘·开源·字节
摸鱼仙人~17 小时前
在 MCP 中实现 “askhuman” 式交互:原理、实践与开源方案
开源
陈哥聊测试17 小时前
Coze开源了!意味着什么?
人工智能·ai·开源·项目管理·项目管理软件
小和尚同志18 小时前
全网影视一网打尽!LibreTV App 来了
docker·容器·开源