轻量级碎片化笔记memos本地NAS部署与跨平台跨网络同步笔记实战

文章目录

    • 前言
    • 1. 使用Docker部署memos
    • 2. 注册账号与简单操作演示
    • 3. 安装cpolar内网穿透
    • 4. 创建公网地址
    • 5. 创建固定公网地址

推荐

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。 点击跳转到网站

前言

本文主要介绍如何在安装了轻NAS系统CasaOS设备中使用Docker本地部署开源云笔记服务memos,并结合cpolar内网穿透工具配置公网地址,打造一个可跨设备、跨网络同步的私人云笔记。

对很多学生党来说,往往都有把自己偶然迸发的想法,上课记的笔记,喜欢的图片,有用的链接保存到一个地方,然后使用自己所有的设备都可以访问的需求。

memos就能轻松的做到这一点,无论你在手机、平板、不同的系统的电脑上,都可以轻松访问你保存在上边的内容。支持实时修改并同步,而且所有的数据都保存在你的本地,相对来说更可控也更安全一些。

因为CasaOS集成了Docker功能,所以在如香橙派、N1盒子、玩客云这样的小主机中部署一些像memos这种轻量级服务非常简单,一条docker命令就可以搞定。而且它就像路由器一样,7*24小时开机也不会有太多的耗电量,主机本身也很便宜,用来部署一个私有云笔记来说,属于经济又实惠了。

而且,我们还可以利用cpolar生成公网地址,让你不仅可以在局域网内多设备使用memos服务,实现公网环境依然可以访问你在本地部署的memos!

image-20240319171837751

1. 使用Docker部署memos

首先我们需要在CasaOS玩客云中打开左上角的终端按钮,输入root账号密码登录ssh(如果不知道如何获取root账号密码可以看我的上篇文章:玩客云刷CasaOS系统后如何安装内网穿透实现远程访问本地文件

image-20240319172044451

image-20240319172307834

然后在终端中执行下边的命令:

docker run -d --name memos --restart=unless-stopped -p 5230:5230 -v /mnt/docker/memos:/var/opt/memos neosmemo/memos:0.15.0

/var/opt/memos目录是 Docker 中卷的目录,不应修改。

另外,如果拉取不到镜像,可以在终端执行 nano /etc/docker/daemon.json

输入:

{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://docker.1panel.live"
]
}

保存退出

然后执行:

sudo systemctl restart docker

18dac42216f3ac6fba3f4f10cfdb264

命令执行后,回到系统桌面可以看到带重建的memos笔记,点击重建即可。

image-20240319182511619

此时,我们已经部署完毕,单击打开即可在浏览器中看到笔记的web界面。

1ef39f071ff44130dd1b102a010ee05

2. 注册账号与简单操作演示

点击左上角logo按钮即可跳转注册页面注册一个管理员账号,底部可以选择注册时候的语言。

4bd36413b1da7c91dbe8680116696f0

注册成功后,我们可以在setting-preferences中设置笔记中的语言,选择简体中文即可。

c21c9d1fdf983723486871c67991a44

28f599f3ed8f0e4e9d290b219bc180c

输入文字,点击保存即可看到发布的文字。

image-20240319183056094

点击编辑,即可修改文字内容,或者设置内容的浏览权限。

image-20240319183144590

image-20240319183218116

如果选择仅自己可见,那只有当前账号使用者可以看见这段文字。

如果选择所有人可见,那么将这个笔记的局域网地址分享给你的室友,他不需要注册账号也可以看到这段文字。

而登录用户可见,则是需要其他人在部署在这个地址的笔记服务中创建账号才能看到这段文字。

有两种方式可以让其他人注册账号,第一个是在设置-系统中把允许注册账号的选项打开。

image-20240319183628171

第二中是在设置-成员中,手动为其他人创建一个账号密码。

0fcb61762e9ed1e233033d614416089

除了发布文字内容,我们还可以在memos中发布图片或者视频内容。

拿发布图片举例,点击首页,可以在输入框中直接截图后粘贴到里边,也可以点击井号旁边的上传按钮在本地文件中选择后进行上传,两种方式都可以,就很奈斯。

image-20240319184212288

image-20240319184312366

更多使用相关方法,大家也可以去它的网站中去学习,地址放在这里:https://www.usememos.com/docs/install

3. 安装cpolar内网穿透

首先,点击左上角进入终端:

image-20240313143414262

然后在终端中执行下方命令,安装cpolar内网穿透工具:

curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash

image-20240313145003852

然后执行下面的命令查看版本号,有正常显示版本号即为安装成功

cpolar version

image-20240313145127582

可以看到版本号,安装成功,下一步进行token认证。

首先在浏览器访问cpolar官网:http://www.cpolar.com

注册账号后登录cpolar官网后台,点击左侧的验证,查看自己的认证token。

1710312839212

然后将token(xxxxxxx)贴在cpolar authtoken的命令后,执行命令:

cpolar authtoken xxxxxxx

image-20240313145903193

操作完成后,可以进行简单穿透测试:

cpolar http 8080

image-20240313151951657

可以看到成功生成了两个指向本机8080端口的随机公网地址。

然后需要执行下面的命令向系统添加cpolar服务

systemctl enable cpolar

image-20240313152831220

然后执行下面命令启动cpolar服务:

systemctl start cpolar

查看服务状态:

systemctl status cpolar

image-20240313153116599

能看到cpolar服务已经正常启动。

4. 创建公网地址

cpolar安装成功并启动服务后,在外部浏览器上访问CasaOS的9200端口即:【http://服务器的局域网ip:9200】,使用cpolar账号登录,登录后在Web UI管理界面配置即可。

image-20240313153321898

登录cpolar web UI管理界面后,点击左侧仪表盘的隧道管理——创建隧道:

  • 隧道名称:可自定义,注意不要与已有的隧道名称重复,本例使用了:memos
  • 协议:http
  • 本地地址:5230
  • 域名类型:随机域名
  • 地区:选择China TOP

点击创建

image-20240320104536507

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式:http和https,任选其一到浏览器访问即可。

image-20240320110838705

在浏览器地址栏输入cpolar生成的公网地址,可以看到成功访问本地部署的memos笔记的Web页面。

image-20240320111010600

输入账号密码后登录,即可在公网环境远程使用本地部署的memos服务,之前发布的内容也都可以正常管理操作:

image-20240320111154273

小结

为了方便演示,我们在上边的操作过程中使用cpolar生成的HTTP公网地址隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

如果有长期远程访问本地memos笔记服务的需求,但又不想每天重新配置公网地址,还想地址好看又好记,那我推荐大家选择使用固定的HTTP公网地址来远程访问。

5. 创建固定公网地址

登录cpolar官网,点击左侧的预留,选择保留二级子域名,地区选择China VIP,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称,这里我填写的是memos1,大家也可以自定义喜欢的名称。

image-20240320112324951

保留成功后复制保留成功的二级子域名的名称:memos1,返回登录Cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道memos,点击右侧的编辑:

image-20240320112433978

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

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

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

image-20240320112522367

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

image-20240320112554413

最后,我们使用任意一个固定公网地址在浏览器访问,可以看到访问成功,这样一个固定且永久不变的公网地址就设置好了,随时随地都可以远程访问本地的memos笔记服务了!

image-20240320112707824

以上就是如何在CasaOS系统安装cpolar内网穿透工具,并配置固定不变的二级子域名公网地址实现远程访问本地部署的memos笔记服务的全部流程,感谢您的观看,有任何问题欢迎留言交流。

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

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

相关文章

【Vue #2】脚手架 指令

一、脚手架 脚手架:一个保证各项工作顺利开展的平台,方便我们 拿来就用,零配置 1. Vue 代码开发方式 相比直接 script 引入 vue 源码,有没有更好的方式编写vue代码呢? ① 传统开发模式: 基于html文件开发Vue&…

ArkTS语言入门之接口、泛型、空安全、特殊运算符等

前言 臭宝们,今天我们来学习ArkTS中最后的一些内容。 实现接口 包含implements子句的类必须实现列出的接口中定义的所有方法,但使用默认实现定义的方法除外。 interface DateInterface {now(): string; } class MyDate implements DateInterface {no…

Maven超级详细安装部署

1.到底什么是Maven?搞清楚这个 Maven 是一个项目管理工具,主要用于 Java 项目的构建、依赖管理和文档生成。 它基于项目对象模型(POM),通过 pom.xml 文件定义项目的配置。 (简单说破:就是工程…

高并发内存池(三):PageCache(页缓存)的实现

前言: 在前两期内容中,我们深入探讨了内存管理机制中在 ThreadCache 和 CentralCache两个层级进行内存申请的具体实现。这两层缓存作为高效的内存分配策略,能够快速响应线程的内存需求,减少锁竞争,提升程序性能。 本期…

机器学习 | 强化学习方法分类汇总 | 概念向

文章目录 📚Model-Free RL vs Model-Based RL🐇核心定义🐇核心区别📚Policy-Based RL vs Value-Based RL🐇核心定义🐇 核心区别📚Monte-Carlo update vs Temporal-Difference update🐇核心定义🐇核心区别📚On-Policy vs Off-Policy🐇核心定义🐇核心区别…

GSO-YOLO:基于全局稳定性优化的建筑工地目标检测算法解析

论文地址:https://arxiv.org/pdf/2407.00906 1. 论文概述 《GSO-YOLO: Global Stability Optimization YOLO for Construction Site Detection》提出了一种针对建筑工地复杂场景优化的目标检测模型。通过融合全局优化模块(GOM)​、稳定捕捉模块(SCM)​和创新的AIoU损失函…

Java学习手册:JVM、JRE和JDK的关系

在Java生态系统中,JVM(Java虚拟机)、JRE(Java运行时环境)和JDK(Java开发工具包)是三个核心概念。它们共同构成了Java语言运行和开发的基础。理解它们之间的关系对于Java开发者来说至关重要。本文…

lanqiaoOJ 2489 进制

//x的初始值一定要设置为0,否则测试的答案是对的,但是通不过去 #include<bits/stdc.h> using namespace std; const int N50; int a[N]; using lllong long; int main(){ ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); string s"2021ABCD"; for(int i…

Python基础知识点(类和对象)

""" 编程思维---解决问题的方式方法 面向过程---C语言 面向对象---C java python python中封装类的语法 class 类名&#xff08;父类&#xff09; 类体 注意&#xff1a; 1.类名--约定 大驼峰法 首字母要大写 2.父类如果有的话就写&#xff0c;没有的话…

记录一下学习docker的命令(不断补充中)

#2025-04-10,22:12############### 在wsl2中安装了ubuntu24.04.1后有部署了docker&#xff0c; 如果没有启动docker可以通过下列命令启动docker&#xff1a; sudo systemctl start docker 执行下列命令可以看到docker状态&#xff0c;并不占用控制台的命令&#xff1a; su…

【01BFS】# P4667 [BalticOI 2011] Switch the Lamp On 电路维修 (Day1)|普及+

本文涉及知识点 CBFS算法 题目描述 Casper is designing an electronic circuit on a N M N \times M NM rectangular grid plate. There are N M N \times M NM square tiles that are aligned to the grid on the plate. Two (out of four) opposite corners of each …

参考平面跨分割情况下的信号回流

前言&#xff1a;弄清楚信号的回流路径&#xff0c;是学习EMC和高速的第一步&#xff01; 如果我们不管信号的回流路径&#xff0c;会造成什么后果&#xff1f;1、信号完整性问题&#xff0c;信号的回流路径不连续会导致信号反射、衰减和失真。2、信号衰减和噪声干扰&#xff…

almalinux 8 9 升级到指定版本

almalinux 8 update 指定版本 almalinux历史版 所有版本almalinux最新版 所有版本vault历史版 almalinux最新版 (https://repo.almalinux.org )地址后面增加不同名称 echo "delete repos" rm -rf /etc/yum.repos.d/*echo "new almalinux repo" cat <&…

阿里云CDN应对DDoS攻击策略

阿里云CDN遭遇DDoS攻击时&#xff0c;可通过以下综合措施进行应对&#xff0c;保障服务的稳定性和可用性&#xff1a; 1. 启用阿里云DDoS防护服务 阿里云提供专业的DDoS防护服务&#xff0c;通过流量清洗中心过滤恶意流量&#xff0c;确保合法请求正常传输。该服务支持按需选…

CentOS Stream release 9安装 MySQL(一)

在 CentOS Stream 上安装 MySQL 的方法与传统的 CentOS 类似&#xff0c;但由于 CentOS Stream 的软件包更新策略不同&#xff0c;可能会遇到一些依赖问题。以下是详细安装步骤&#xff1a; 1. 添加 MySQL 官方 Yum 仓库 sudo rpm -Uvh https://dev.mysql.com/get/mysql80-co…

数据结构 | 证明链表环结构是否存在

❤个人主页&#xff1a; 链表环结构 0.前言1.环形链表&#xff08;基础&#xff09;2.环形链表Ⅱ&#xff08;中等&#xff09;3.证明相遇条件及结论3.1 问题1特殊情况证明3.2 问题1普适性证明 0.前言 在这篇博客中&#xff0c;我们将深入探讨链表环结构的检测方法&#xff1a;…

数字世界的免疫系统:恶意流量检测如何守护网络安全

在2023年全球网络安全威胁报告中,某跨国电商平台每秒拦截的恶意请求峰值达到217万次,这个数字背后是无数黑客精心设计的自动化攻击脚本。恶意流量如同数字世界的埃博拉病毒,正在以指数级速度进化,传统安全防线频频失守。这场没有硝烟的战争中,恶意流量检测技术已成为守护网…

【JavaScript】十八、页面加载事件和页面滚动事件

文章目录 1、页面加载事件1.1 load1.2 DOMContentLoaded 2、页面滚动事件2.1 语法2.2 获取滚动位置 3、案例&#xff1a;页面滚动显示隐藏侧边栏 1、页面加载事件 script标签在html中的位置一般在</body>标签上方&#xff0c;这是因为代码从上往下执行&#xff0c;在htm…

Linux : 内核中的信号捕捉

目录 一 前言 二 信号捕捉的方法 1.sigaction()​编辑 2. sigaction() 使用 三 可重入函数 四 volatile 关键字 一 前言 如果信号的处理动作是用户自定义函数,在信号递达时就调用这个函数,这称为捕捉信号。在Linux: 进程信号初识-CSDN博客 这一篇中已经学习到了一种信号…

分布式id生成算法(雪花算法 VS 步长id生成)

分布式ID生成方案详解:雪花算法 vs 步长ID 一、核心需求 全局唯一性:集群中绝不重复有序性:有利于数据库索引性能高可用:每秒至少生成数万ID低延迟:生成耗时<1ms二、雪花算法(Snowflake) 1. 数据结构(64位) 0 | 0000000000 0000000000 0000000000 0000000000 0 |…