news 2026/6/23 21:12:35

笔记数据自己管!Joplin加上cpolar让多端同步更安心

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
笔记数据自己管!Joplin加上cpolar让多端同步更安心

文章目录

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

前言

Joplin 是一款开源笔记工具,支持文本、图片、附件等多种内容记录,能实现多设备同步,且采用端到端加密,数据安全性高。适合学生、职场人、研究人员等需要记录和管理大量信息的人群,既满足日常笔记需求,又保障数据隐私。

使用 Joplin 时,发现它的 markdown 编辑功能很实用,排版清晰;同步速度也不错,但要注意定期备份数据,避免意外丢失。自建服务器时,需确保网络稳定,否则可能同步失败。

但 Joplin 服务器默认只能在局域网内访问,给多场景使用带来麻烦。比如在家用电脑记录的笔记,在公司想查看,就得先同步到云端再下载,不仅麻烦,还可能泄露隐私;团队共享笔记时,成员不在同一局域网就无法访问。

而 Joplin 与 cpolar 结合后,轻松实现公网访问服务器。在家、公司、外出时,都能通过公网地址访问笔记,团队成员也能远程同步共享内容,既保持数据本地存储的安全,又实现了跨网络无缝协作。

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

1. 安装Docker

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

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

如果未安装Docker可参考:

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

    $sudoyuminstall-y yum-utils $sudoyum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

    安装Docker引擎

    sudoyuminstalldocker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

    启动Docker

    sudo systemctl start docker

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

    sudodocker run hello-world
  • 启动Docker:

systemctl start docker
  • 检查docker版本
docker -v
  • **检查docker compose版本:**确保2.0以上版本
docker compose version

2. 自建Joplin服务器

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

mkdir-p /data/joplin

进入joplin目录中

cd/data/joplin

添加compose配置文件

vimdocker-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|sudobash
  • 向系统添加服务
sudosystemctlenablecpolar
  • 启动cpolar服务
sudosystemctl 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!

Joplin 与 cpolar 的组合,解决了局域网限制,让笔记管理更灵活安全,满足多场景下的记录和协作需求,是注重数据主权用户的好选择。

本篇文章知识点来源[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
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/22 21:50:27

TeleTron项目技术优化原理之上下文并行技术

1.Ulysses Context Parallel (上下文并行)原理下面的例子主要展示的是 Image Tokens(最复杂的部分)。TeleTron 中 DiT 模型处理长序列的核心机制:如何通过 SeqAllToAll4D 在“序列并行”和“头并行”之间转换。4 个大框…

作者头像 李华
网站建设 2026/6/23 4:57:15

Simulink上四永磁同步电机偏差耦合转速同步控制仿真模型的设计与实现

simulink上搭建的四永磁同步电机偏差耦合转速同步控制仿真模型。 最近在工业自动化项目里经常遇到多电机同步的问题,特别是AGV小车底盘驱动、传送带协同这些场景。四个永磁同步电机(PMSM)的转速同步要是没搞好,轻则产品堆积卡壳&…

作者头像 李华
网站建设 2026/6/22 22:28:47

生成式深度学习(文本生成)

文本生成 本节将介绍如何利用RNN 来生成序列数据。我们将以文本生成为例,但同样的技术也可以 推广到任意类型的序列数据,你既可以将其应用于音符序列来生成新音乐,也可以应用于笔画数 据时间序列(比如艺术家在iPad 上绘画时记录的…

作者头像 李华
网站建设 2026/6/23 18:19:59

39、gawk 扩展:文件函数的实现与应用

gawk 扩展:文件函数的实现与应用 1. gawk 查找扩展的方式 编译后的扩展必须安装在 gawk 能够找到的目录中。如果 gawk 按照默认方式进行配置和构建,那么查找扩展的目录是 /usr/local/lib/gawk 。你还可以通过指定一个目录列表作为搜索路径,来让 gawk 查找编译后的扩展。…

作者头像 李华
网站建设 2026/6/23 17:53:56

40、深入了解gawk扩展功能与编程接口

深入了解gawk扩展功能与编程接口 1. fts()函数详解 fts()函数用于处理文件和目录路径,其结果存储在 filedata 数组中。具体操作流程如下: 1. 清空 filedata 数组。 2. 为 pathlist 中的每个元素在 filedata 中创建一个元素,索引为 pathlist 中给出的目录或文件…

作者头像 李华