news 2026/5/25 12:13:25

笔记数据自己管!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/5/26 8:23:34

macOS使用Homebrew+VS Code搭建Python开发环境完整指南

文章目录通过 Homebrew 安装 Python1. 安装 Homebrew(如已安装可跳过)2. 使用 Homebrew 安装 Python33. 验证 Python 与 pip 是否安装成功安装 Visual Studio Code将 VS Code 界面切换为中文1. 打开扩展市场2. 安装官方中文语言包3. 应用语言设置配置 Py…

作者头像 李华
网站建设 2026/5/25 17:26:57

Flask 应用部署实战:Nginx 反向代理配置指南

你的 Flask 应用开发完了,却卡在部署这一步?据统计,超过 65% 的 Python Web 开发者认为部署是项目中最棘手的环节,尤其是面对 Nginx 配置时一头雾水!本文为你一站式解决 Flask 部署难题。从 Flask 基础入门&#xff0c…

作者头像 李华
网站建设 2026/5/26 6:13:01

牛客网Java面试题总结(12月最新版)

今年的大环境而言,面试成功的难度比往年高了很多,很明显的感受就是:对于今年的 java 开发朋友面试,无论一面还是二面,都开始考验一个 Java 程序员的技术功底和基础。Java基础掌握不牢,对于一个开发人员来说…

作者头像 李华
网站建设 2026/5/26 6:15:03

Symfony 8 API网关与消息队列集成方案(微服务通信进阶秘籍)

第一章:Symfony 8 微服务通信概述在现代分布式系统架构中,微服务已成为构建可扩展、高可用应用的主流方式。Symfony 8 作为 PHP 生态中强大的全栈框架,进一步强化了对微服务间通信的支持,使开发者能够更高效地实现服务解耦与协作。…

作者头像 李华
网站建设 2026/5/25 17:56:33

winform界面嵌入wpf控件

前言 我们在开发winform项目时,有的时候会遇到使用winform不好实现的界面需求,这时候我们可以利用wpf开发界面强大的特性来使用wpf开发界面,最后将wpf开发的界面嵌入到winform项目中。 1、新建winform项目 2、引用dll 在winform项目中添加四个dll,PresentationCore、Pre…

作者头像 李华
网站建设 2026/5/26 5:54:28

36、深入了解 gawk 扩展开发:许可、通信与 API 详解

深入了解 gawk 扩展开发:许可、通信与 API 详解 1. 扩展许可 动态扩展必须在与 GNU GPL 兼容的许可下分发。为了让扩展告知 gawk 其已正确获得许可,扩展必须定义全局符号 plugin_is_GPL_compatible 。若该符号不存在,gawk 在尝试加载扩展时会发出致命错误并退出。此符号…

作者头像 李华