文章目录

    • 前言
    • 1. 安装Docker
    • 2. Docker本地部署Leanote蚂蚁笔记
    • 3. 安装cpolar内网穿透
    • 4. 固定Leanote蚂蚁笔记公网地址

前言

在信息爆炸的时代,如何系统管理知识资产并实现价值输出?蚂蚁笔记(Leanote)提供了一种全新解决方案。这款开源工具支持多格式内容创作,从日常随笔的普通模式到程序员偏爱的Markdown语法,再到数学教师需要的专业公式编辑器,覆盖了绝大多数知识记录场景。

更值得关注的是其扩展性:通过与cpolar内网穿透服务联动,用户无需公网IP即可将本地笔记服务器安全开放。这意味着你可以随时在手机端查阅家中电脑存储的技术文档,在咖啡厅分享给同事的项目脑图也能即时同步更新。这种"私有云+远程访问"模式,既保持了数据控制权,又实现了多场景下的无缝衔接。

本篇文章介绍如何使用Docker部署Leanote蚂蚁笔记,并且结合cpolar内网穿透实现公网远程访问本地笔记编辑并制作个人博客等。

1708321074571

1. 安装Docker

本文演示环境:CentOS 7,Xshell7远程ssh

没有安装Docker的小伙伴需安装Docker,已有Docker可跳过以下步骤。

如没有安装Docker,需先安装Docker:

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

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

    安装Docker引擎

    sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    

    启动Docker

    sudo systemctl start docker
    

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

    sudo docker run hello-world
    

2. Docker本地部署Leanote蚂蚁笔记

检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

systemctl status docker

检查Docker版本

docker -v

下载Leanote镜像,本次使用Leanote容器镜像从dockerhub拉取,版本为latest版本

docker pull axboy/leanote

462826f279de6d977a141fffc489ad1

部署Leanote应用

创建Leanote容器挂载的数据目录

mkdir -p /data/leanote/{db,conf,files,upload}
cd /data/leanote/

使用docker-cli命令快速创建Leanote容器

docker run -d -p 9800:9000 \-e "TZ=Asia/Shanghai"\--restart=always\-v /data/leanote/db:/data/db \-v /data/leanote/conf/:/data/leanote/conf \-v /data/leanote/files:/data/leanote/files \-v /data/leanote/upload:/data/leanote/public/upload \-m 50M --oom-kill-disable --memory-swap=-1\--name leanote \axboy/leanote

4a23ca81b05028b50d4a0303a28f063

检查Leanote容器状态状态

docker ps

检查Leanote容器所在系统资源

docker stats --no-stream leanote

打开新的浏览器直接访问:http://192.168.149.143:9800/ (本地IP:9800)进入Leanote首页

6eb290b634e3112a49ff90dfeb0f9e3

设置简体中文

点击右上角简体中文

image-20240219114657197

管理员登录Leanote

用户名填写:admin 密码:abc123

765c9c5591ce2d795823725211dd0e3

进入到后台编辑界面

fdc37f8630d4caca914b697b0af0297

新建笔记

9626bc4c3c2bb37eca80477e00393f6

ca73116e4e6e3d15bc4663621e4d45c

编辑完文章后公开为博客

d1fd381ab09ff34befc11a2c8dbd4d1

点击右上角我的博客

6393df2a019f64c0f4e85a8f7088554

6b320011ca547400652fd64c17e173b

点击博客设置

4f54ed8c253b1e1dc706e8ab70e83d0

选择博客设置,进入博客管理页面

f93186a70af1d0ba79796962bf4cc5b

修改博客主题

c6d1dcbba11cb7809b7275535f7c95b

我们就成功在本地搭建了Leanote蚂蚁笔记,但如果想在外随时随地编辑自己的蚂蚁笔记,就需要借助cpolar内网穿透工具来实现公网访问了!接下来介绍一下如何安装cpolar内网穿透并实现蚂蚁笔记公网访问!

3. 安装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 管理界面配置即可。

接下来配置一下Leanote蚂蚁笔记的公网地址,

登录后,点击左侧仪表盘的隧道管理——创建隧道,

创建一个蚂蚁笔记的公网http地址隧道

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:9800 (本地访问的地址)
  • 域名类型:免费选择随机域名
  • 地区:选择China Top

点击创建

cc32156089ad8673b165e6d76b7d18f

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https

f795e04bc79da30ee5e595b309ca3c2

使用上面的Cpolar https公网地址,在任意设备的浏览器进行访问,即可成功看到Leanote蚂蚁笔记界面,这样一个公网地址且可以远程访问就创建好了,使用了cpolar的公网域名,无需自己购买云服务器,即可到公网进行远程访问蚂蚁笔记了!

3f2ae9de33f92922518b9253b713a00

小结

如果我们需要长期异地远程访问蚂蚁笔记,由于刚才创建的是随机的地址,24小时会发生变化。另外它的网址是由随机字符生成,不容易记忆。如果想把域名变成固定的二级子域名,并且不想每次都重新创建隧道来听歌,我们可以选择创建一个固定的http地址来解决这个问题。

4. 固定Leanote蚂蚁笔记公网地址

我们接下来为其配置固定的HTTP端口地址,该地址不会变化,方便分享给别人长期查看你的博客,而无需每天重复修改服务器地址。

配置固定http端口地址需要将cpolar升级到专业版套餐或以上。

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

4575c71ffe477ffdcf4d54e7814d239

保留成功后复制保留成功的二级子域名的名称

fb815a8274f6fde74750968661f8db2

返回登录Cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

a8a1107f681b95be65e0b3487e29542

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新(注意,点击一次更新即可,不需要重复提交)

06b600fd02343bd9e36aa07cbb3c168

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了固定的二级子域名名称的域名

0c141638c943af343154a7163c777e6

最后,我们使用固定的公网https地址访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,可以异地远程自己的蚂蚁笔记来进行编辑和学习了!

d7d91b3b344c909d6c237ea9495e518

7853ded19cb0e300cc05f58663268b6

当知识管理遇见技术赋能,Leanote正重新定义个人数字资产的价值边界——让思考沉淀更安全、分享传播更自由。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/92036.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/92036.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/92036.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[特殊字符]️ 整个键盘控制无人机系统框架

🎯 五大核心模块详解1. 📥 输入处理模块keyboard_control_node ├── 功能:捕获键盘输入并转换为ROS消息 ├── 文件:keyboard_control.cpp ├── 输入:键盘按键 (W/A/S/D/R/F/Q/E/L/ESC) ├── 输出:g…

机器学习第三课之逻辑回归(三)LogisticRegression

目录 简介 1.下采样 2.过采样 简介 接上两篇篇博客最后,我们使用了K折交叉验证去寻找最合适的C值,提升模型召回率,对于选取C的最优值,我们就要把不同C值放到模型里面训练,然后用验证集去验证得到结果进行比较&#x…

1.Java语言有什么特点

1.Java语言有什么特点 1.面向对象编程,拥有封装,继承和多态的特性,所有可以很好的设计出低耦合的项目工程。 2.很好的可移植性,在Java中有java虚拟机(JVM)的支持,每写一个类都是.Class文件。J…

部署 Kibana 8.2.2 可视化管理 Elasticsearch 8.2.2 集群

✅ 适用版本:Elasticsearch 8.2.2 Kibana 8.2.2 一、环境准备 组件版本示例地址Elasticsearch8.2.2192.168.130.61:9200, 192.168.130.62:9200, 192.168.130.65:9200Kibana8.2.2部署在 192.168.130.651操作系统CentOS 7⚠️ 严格版本匹配:Kibana 8.2.2…

7.2 I/O接口 (答案见原书 P305)

第7章 输入/输出系统 7.1 I/O系统基本概念 (答案见原书 P301) & 7.2 I/O接口 (答案见原书 P305) 01. 在统一编址的方式下,区分存储单元和I/O设备是靠( A )。 题目原文 在统一编址的方式下,区分存储单元和I/O设备是靠( )。 A. 不同的地址码 B. 不同的地址线 C. 不同…

并发编程常用工具类(上):CountDownLatch 与 Semaphore 的协作应用

在 Java 并发编程领域,JDK 提供的工具类是简化多线程协作的重要武器。这些工具类基于 AQS(AbstractQueuedSynchronizer)框架实现,封装了复杂的同步逻辑,让开发者无需深入底层即可实现高效的线程协作。本文作为并发工具…

Go 工程化全景:从目录结构到生命周期的完整服务框架

今天天气很好, 正好手头有个小项目, 整理了一下中小项目标准化的痛点问题, 如下, 希望可以帮到大家. 一个成熟的 Go 项目不仅需要清晰的代码组织,还需要完善的生命周期管理。本文将详细讲解生产级 Go 服务的目录设计(包含 model 等核心目录)、…

【C++】2. 类和对象(上)

文章目录一、类的定义1、类定义格式2、访问限定符3、类域二、实例化1、实例化概念2、对象⼤⼩三、this指针四、C和C语⾔实现Stack对⽐一、类的定义 1、类定义格式 class为定义类的关键字,Stack为类的名字,{ }中为类的主体,注意类定义结束时…

UnityURP 扭曲屏幕效果实现

UnityURP 扭曲屏幕效果实现前言项目下载URPGrabPass空间扭曲着色器实现添加可视化控制创建材质球并设置补充粒子使用步骤CustomData映射移动设备优化鸣谢前言 在Unity的Universal Render Pipeline (URP) 中,传统的GrabPass功能被移除,借助URPGrabPass工…

(三)软件架构设计

2024年博主考软考高级系统架构师没通过,于是决定集中精力认真学习系统架构的每一个环节,并在2025年软考中取得了不错的成绩,虽然做信息安全的考架构师很难,但找对方法,问题就不大! 本文主要是博主在学习过程…

切记使用mt19937构造随机数

在做 Kazaee CodeForces - 1746F 这个问题的时候,最初的时候使用了ran(),然后一直WA,遂改成mt19937,顺利通过本道题。 mt19937 Rand(time(0)); 调用随机数时候,使用: Rand() & 1 注意看&#xff0…

基于N32G45x+RTT驱动框架的定时器外部计数

时钟选择 高级控制定时器的内部时钟:CK_INT: 两种外部时钟模式: 外部输入引脚 外部触发输入 ETR 内部触发输入(ITRx):一个定时器用作另一个定时器的预分频器 外部时钟原理 通过配置 TIMx_SMCTRL.SMSEL=111 选择该模式。 计数器可以配置为在所选输入的时钟上升沿或下降沿 …

[特殊字符] Ubuntu 下 MySQL 离线部署教学(含手动步骤与一键脚本)

适用于 Ubuntu 20.04 / 22.04 无网络环境部署 MySQL。 建议初学者先按手动方式部署一遍理解原理,再使用自动化脚本完成批量部署。📁 一、准备工作 ✅ 1. 虚拟机环境 系统:Ubuntu 22.04(或兼容版本)环境:无网…

系统一个小时多次Full GC,导致系统线程停止运行,影响系统的性能,可靠性

背景: 某一天系统出现了请求超时,然后通过日志查看,程序执行到某一个位置,直接停下来来了,或者说所有的线程的执行都停下来了。而且是该时间段,请求处理变慢。排查相关的服务,并没有出现死锁&am…

使用OMV+NextCloud搭建私有云

原文地址:使用OMVNextCloud搭建私有云 – 无敌牛 欢迎参观我的网站:无敌牛 – 技术/著作/典籍/分享等 OpenMediaVault(简称OMV)是一款基于Debian的开源网络存储(NAS)操作系统,提供Web管理界面&…

Codeforces Round 1008 (Div. 2)

A. Final Verdict 题目大意 给你一个数组a,每次把他拆分为等长的k个子序列,然后用子序列的平均数替换掉这个子序列,问最后能不能让数组只剩下一个数字x 解题思路 无论怎么划分,最后的总值是不变的,所以只需要看总和…

python转移安装目录到D盘

迁移python安装路径第一步:移动目录第二步:修改环境变量之前没有设置之前设置过第一步:移动目录 源路径: C:\Users\Emma.ZRF\AppData\Local\Programs\Python\Python38 原环境变量 C:\Users\Emma.ZRF\AppData\Local\Programs\Pyth…

C#垃圾回收机制:原理与实践

C#垃圾回收机制:原理与实践 一、垃圾回收:C#内存管理的“幕后功臣”​ 二、GC的核心引擎:基于代的优化策略 三、Demo展示 1. 简单对象的垃圾回收示例 2. 基于代的回收示例 四、常用方法 五、推荐使用的场景 六、注意事项 管住手:避免滥用 GC.Collect() 析构函数:保持轻量 …

基于SpringBoot+MyBatis+MySQL+VUE实现的名城小区物业管理系统(附源码+数据库+毕业论文+开题报告+部署教程+配套软件)

摘要 当下,正处于信息化的时代,许多行业顺应时代的变化,结合使用计算机技术向数字化、信息化建设迈进。以前相关行业对于物业信息的管理和控制,采用人工登记的方式保存相关数据,这种以人力为主的管理模式已然落后。本人…

3DXML 转换为 UG 的技术指南及迪威模型网在线转换推荐

一、3DXML 转换为 UG 的必要性 (一)软件功能利用需求 3DXML 格式由达索系统开发,主要用于在其相关产品(如 CATIA、SOLIDWORKS 和 3DEXPERIENCE 等)中进行 3D 数据交换与轻量化可视化。它虽然能够很好地在达索生态内实…