Joplin笔记告别局域网高效办公就靠cpolar

Joplin 是一款开源的全平台笔记工具,核心功能涵盖 Markdown 格式笔记编辑、多维度标签分类、本地加密存储,还支持网页内容抓取和多设备同步,能满足学习、工作、生活等多场景的笔记记录需求,无论是整理会议纪要、收藏学习教程,还是记录待办事项都很适配。

作为长期使用 Joplin 的职场人,最直观的感受是它的实用性和灵活性:离线状态下也能正常编辑笔记,通勤路上记录的工作思路,到公司联网后自动同步;本地存储数据的模式,不用担心笔记内容泄露,比第三方云笔记更让人放心,全平台覆盖也让手机和电脑间的笔记流转毫无障碍。

而 cpolar 内网穿透则彻底解决了 Joplin 自建服务器仅限局域网访问的短板。此前在公司搭建的 Joplin Server,只能在办公室内网查看,居家办公时想调取项目笔记只能靠 U 盘拷贝,效率极低;用上 cpolar 后,在家就能直接访问公司的 Joplin Server,随时补充项目文档;甚至出差时在酒店打开电脑,就能同步最新的笔记内容,还能和团队成员共享笔记链接,不用再受局域网的地域限制,工作效率提升了不少。

随身乾坤大挪移功法如下,快快去修炼起来!

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

1. 安装Docker

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

如果未安装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

    sql 复制代码
    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:joplin.cpolar.cn Joplin服务器邮箱:选择admin@localhost或者在管理页面自行创建 Jpolin服务器密码:选择admin或者在管理页面自行创建 点"检查同步配置",显示"成功!同步配置看起来没问题"即可

这个时候我们在客户端编辑完文章后,回到 Joplin主界面点击 同步

我们再回到 JoplinServer界面来看一下数据库是否同步,重新登陆一下,可以看到后台文件

我们就成功在本地搭建了Joplin Server,但是想实现无需公网IP环境来远程访问Joplin Server里的数据库内容,就需要借助cpolar内网穿透工具来实现公网访问了!接下来介绍一下如何安装cpolar内网穿透并实现Joplin Server公网访问!

4. 安装cpolar内网穿透

下面是安装cpolar步骤:

  • 使用一键脚本安装命令
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!

Joplin 的实用功能搭配 cpolar 的远程访问能力,让笔记管理摆脱了空间束缚。对于需要跨场景办公的人来说,这样的组合既保障了数据安全,又提升了使用便利性,是日常办公的实用小技巧。

相关推荐
Memory_荒年1 小时前
AQS:Java并发包里的“包租公”,管理着你的锁和通行证!
java·后端
i建模1 小时前
npm国内镜像源加速
前端·npm·node.js
肯戳加勾1 小时前
JAVA最常见的装箱/拆箱坑
java·后端
恋猫de小郭1 小时前
Cursor 自己做了模型 PK ,Cursor 里哪个模型性价比最高?
前端·人工智能·ai编程
Memory_荒年1 小时前
ReentrantLock:AQS家的“锁二代”,但比 synchronized 更会“来事儿”
java·后端
张一凡931 小时前
告别 Redux 的繁琐,试试这个基于类模型的 React 状态管理库:easy-model
前端·react.js
巫山老妖1 小时前
OpenClaw 心跳机制实战:让 AI Agent 24 小时不停自主运行
java·前端
前端付豪1 小时前
实现学习报告统计面板
前端·python·llm
opbr1 小时前
Vite 插件实战:如何优雅地将构建时间注入到 HTML 中?
前端·开源