CasaOS系统小主机Docker部署memos结合内网穿透打造私有云笔记

news2024/11/15 22:46:08

文章目录

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

前言

本文主要介绍如何在CasaOS轻NAS系统设备中使用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://do.nark.eu.org”,
“https://dc.j8.work”,
“https://docker.m.daocloud.io”,
“https://dockerproxy.com”,
“https://docker.mirrors.ustc.edu.cn”,
“https://docker.nju.edu.cn”
]
}

保存退出

然后执行: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.coloradmin.cn/o/1982131.html

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

相关文章

STL-queue容器适配器

目录 一、queue 1.1 使用 1.2 模拟实现 二、priority_queue 2.1 使用 2.2 仿函数 2.2.1 概念 2.2.2 使用 2.3 模拟实现 一、queue 1.1 使用 具体解释详见官方文档:queue - C Reference (cplusplus.com) queue就是数据结构中的队列:数据结构之…

体系结构论文导读(三十四):Design of Reliable DNN Accelerator with Un-reliable ReRAM

文章核心 这篇文章主要讨论了一种在不可靠的ReRAM(阻变存储器)设备上设计可靠的深度神经网络(DNN)加速器的方法。文章提出了两种关键技术来解决ReRAM固有的不可靠性问题:动态定点(DFP)数据表示…

日撸Java三百行(day14:栈)

目录 一、栈的基本知识 1.栈的概念 2.栈的功能 3.栈的实现 二、栈的代码实现 1.栈的基本属性与方法 2.栈的遍历 3.入栈实现 4.出栈实现 5.数据测试 6.完整的程序代码 总结 一、栈的基本知识 1.栈的概念 根据百度百科,我们知道“栈”是存储货物或供旅客…

小怡分享之Java图书管理系统

前言: 🌈✨前面小怡给大家分享了抽象类和接口,今天小怡给大家分享用Java实现图书管理系统。 1.功能 不同的用户看到的菜单是不一样的,我们分为两个用户身份,管理员和普通用户。 2.知识点 数据类型、变量、数组、方法…

跳妹儿学编程之ScratchJr(12):综合篇-五只小猴子床上跳

博主资深软件架构师,拥有13年大型软件与互联网系统开发、设计和架构经验,曾就职于华为,现任职于国内知名互联网公司。平时在家教咱家“跳妹儿”编程,并将心得和过程记录下来。希望可以帮助更多对编程感兴趣的家庭。 引言 在前面的…

略读ArrayList源码

ArrayList是Java集合框架中的一部分,底层是通过数组实现的,可以动态增长和缩减。 一、首先看成员变量 序列化ID定义。在Java中,如果一个类实现了Serializable接口,那么它的serialVersionUID就非常重要了。serialVersionUID用于确…

Cesium初探-CallbackProperty

在Cesium中,CallbackProperty 是一种非常有用的特性,可以用来动态更新实体的属性,如位置、方向、高度等。CallbackProperty 允许你在指定的时间点计算属性值,这样就可以实时地改变实体的状态而不需要频繁地重新设置整个属性。 下…

PCIe学习笔记(16)

层次结构(Hierarchy)ID Message (PCIe I/O 互连的树形拓扑结构称为 PCIe 的 Hierarchy,或称层级、层次(不是事务层、数据链路层的“层”)。层次区域是指与 RC 某一 RP 相关联的所有设备和链路组成的线路结…

【Linux课程学习】:对于权限的理解(粘滞位)

🎁个人主页:我们的五年 🔍系列专栏:Linux课程学习 🌷追光的人,终会万丈光芒 🎉欢迎大家点赞👍评论📝收藏⭐文章 这篇文章主要理解权限的概念,以及如何更改…

CSS:图片间空白间距问题的解决方案

一、问题描述 今天有小伙伴遇到多张图片排版显示时中间存在空白间隙&#xff0c;问如何处理&#xff1a; <div> <img width"100%" src"https:/xxx.png" id"1747098" style"max-width:100%;"><img width"100%&qu…

学习进行到了第十七天(2024.8.5)

1.Mybatis的定义 数据持久化是将内存中的数据模型转换为存储模型&#xff0c;以及将存储模型转换为内存中数据模型的统称。例如&#xff0c;文件的存储、数据的读取以及对数据表的增删改查等都是数据持久化操作。MyBatis 支持定制化 SQL、存储过程以及高级映射&#xff0c;可以…

【leetcode详解】另一棵树的子树 (C++递归:思路精析 过程反思)

思路详解&#xff1a; 总体框架&#xff1a; 对root树进行先序遍历&#xff0c;如果当前结点&#xff08;记为cur&#xff09;的值和subRoot的根节点值相等时&#xff0c;就开始判断 以cur为根节点的树 和 子树 是否结构一样? 如何判断两棵树是否结构完全相同&#xff1f; …

Docker Remote API未授权访问漏洞

9.Docker Remote API未授权访问漏洞 步骤一:使用以下Fofa语句对Docker产品进行搜索. port"2375" 步骤二:直接使用浏览器访问以下路径 /version#查看版本信息 /info#查看容器信息 漏洞修复 1.端口访问控制 对2375端口做网络访问控制&#xff0c;如设置iptables…

人工智能时代程序员生存法则

随着AIGC&#xff08;如chatgpt、midjourney、claude等&#xff09;大语言模型接二连三的涌现&#xff0c;AI辅助编程工具日益普及&#xff0c;程序员的工作方式正在发生深刻变革。有人担心AI可能取代部分编程工作&#xff0c;也有人认为AI是提高效率的得力助手。面对这一趋势,…

什么是亚马逊测评?亚马逊测评的技术要求有哪些?

今天将深入探讨亚马逊测评&#xff0c;这一备受关注的轻资产创业项目&#xff0c;吸引了众多创业者的目光。为了帮助大家更好地理解亚马逊测评&#xff0c;将回答一些常见问题&#xff0c;并分享相关知识。 什么是亚马逊测评&#xff1f; 亚马逊测评是为亚马逊商家提供的一项…

2011-2023各省数字普惠金融指数数据(覆盖广度、使用深度和数字化程度)

2011-2023各省数字普惠金融指数数据 1、时间&#xff1a;2011-2023年 2、指标&#xff1a;数字金融普惠指数、数字金融覆盖广度指数、数字金融使用深度指数、普惠金融数字化程度指数、数字金融使用深度指数下属的支付、保险、货币基金、信用服务、投资、信贷等分类指数 3、范…

【MATLAB源码-第242期】基于matlab的OFDM+QPSK系统莱斯信道Ricain信道估计仿真采用LS方法,输出误码率曲线。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 OFDM&#xff08;正交频分复用&#xff09;是一种广泛应用于现代通信系统的多载波传输技术&#xff0c;其主要优点包括高频谱效率、抗多径衰落和抵抗频率选择性衰落。OFDM系统通过将高速数据流分割成多个低速数据流&#xff…

javascript:检测图片的宽高

1 方案描述 JavaScript提供了非常方便的FileReader和Image对象&#xff0c;可以帮助我们轻松实现这个功能。具体步骤如下&#xff1a; 获取文件输入框&#xff1a;首先&#xff0c;我们需要获取到用户选择的文件。读取文件内容&#xff1a;然后&#xff0c;通过FileReader对象…

Servlet概念理解和具体实现

目录 1、C/S架构和B/S架构 &#xff08;1&#xff09;C/S架构 &#xff08;2&#xff09;B/S架构 &#xff08;3&#xff09;B/S架构的技术原理 &#xff08;4&#xff09;CS/BS区别 &#xff08;5&#xff09;B/S技术的工作原理 &#xff08;6&#xff09;什么是URL …

华杉研发九学习日记24 线程同步 死锁 线程通信 线程池 Callable接口

华杉研发九学习日记24 java多线程 一&#xff0c;线程同步 1.1 线程同步问题 多个线程同时操作一个全局数据或静态数据时可能会造成数据冲突 解决&#xff1a; synchronized同步代码块synchronized同步方法使用锁对象加锁解锁 // 火车站卖车票 -- 100张 public class…