当前位置: 首页 > news >正文

模块化社交新范式:Moments用极简设计重构数字表达

文章目录

    • 前言
    • 1. 安装Docker
    • 2. 使用Docker安装部署Moments
    • 3. 本地测试Moments
    • 4. 安装Cpolar内网穿透
    • 5. 配置固定公网地址
        • "数字表达不该受限于单一平台或冗余功能。这个项目证明:当工具足够模块化时,每个人都能拥有适配自己需求的完美分享空间——现在就去Git仓库看看Moments如何成为你的社交操作系统!"

前言

是否发现过这种矛盾?明明想记录生活却困于平台规则,想要分享音乐电影又受限于第三方接口——这正是传统社交应用的技术局限。Moments通过模块化架构重新定义了"轻量级表达空间":它将核心功能解构成可组合的服务插件,在保持极简交互的同时提供专业级扩展性。

其技术亮点包括:

  • 跨平台内容聚合引擎:支持一键抓取B站视频、豆瓣书影音条目或网易云歌单,生成统一格式的动态卡片;
  • 存储方案自适应系统:无论是对接S3云服务还是本地NAS,部署配置只需三步完成;
  • 隐私沙盒机制:所有数据流默认经过加密管道传输,并提供IP白名单等企业级安全策略。

这种设计创造了一种"可控式分享生态"——用户既能在私域空间记录创作灵感,又能通过开放API将特定内容同步到其他社交平台。对于开发者而言,其开源架构更提供了构建垂直兴趣社区的技术基座。

d5eb31d6c4462d7981b5cb02ae8df4e.png

66a9a53c5f0dd280000e7610909bc89.png

下面就来演示一下如何使用Docker本地部署极简朋友圈——Moments,并结合Cpolar内网穿透工具实现随时随地使用任何设备远程访问与发布内容。

1. 安装Docker

演示环境:CentOS7、Docker 、使用Xshell进行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安装部署Moments

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

systemctl status docker

image-20240206162936342

检查Docker版本

docker -v

创建安装目录

mkdir -p /root/moments  
cd /root/moments

创建并编辑 docker-compose.yml文件

vim docker-compose.yml

填入下方的内容,并保存

version: '3'
services:moments:image: kingwrcy/moments:latest   ports:- "3000:3000"volumes:- moments-data:/app/data- /etc/localtime:/etc/localtime:ro- /etc/timezone:/etc/timezone:ro
volumes:moments-data:

启动Moments

docker compose up -d

启动防火墙

sudo systemctl start firewalld

查看防火墙状态

sudo systemctl status firewalld

设置防火墙开机自启

sudo systemctl enable firewalld

添加规则允许3000端口通过防火墙

sudo firewall-cmd --zone=public --add-port=3000/tcp --permanent

重新载入防火墙以应用更改

sudo firewall-cmd --reload

查看所有当前规则

sudo firewall-cmd --list-all

3. 本地测试Moments

打开一个新的浏览器,输入本地服务器IP:3000,或者loclhost:3000
可以看到进入到了Moments极简朋友圈的登录界面。

d7c1cc828575d7bec65148d72aec7b3.png

接下来登录一下,用户名密码默认:admin,a123456

d5470a62edac4c55ffbe45cd925d800.png

登录进去后,进入到主界面

576ef517c65780aac2db37fe420159f.png

点击设置按钮,修改个人信息,修改密码、网站标题、头像、朋友圈背景等。

931086e6690c67cfec1279383ecbeb9.png
a20783aa356454118c491a29294c3df.png
image.png
保存后就可以发朋友圈了:
添加B站视频,可以添加B站等视频代码

b1212153e1d5fe604969f7cd211bb9b.png

image.png

添加文章链接,可发布文章

image.png

image.png

发布图片日常

image.png

还可以分享网易云音乐,输入网易云音乐代码即可

image.png

这样我们就成功的使用Docker在本地部署了Moments极简朋友圈,随意自由的发布自己的动态,分享给朋友们,另外新奇的仿微信朋友圈的博客方式也非常吸引人。但是我们目前只能在本地局域网内访问,如果想出门在外用手机等其他设备来访问该怎么办呢?可以借助cpolar内网穿透工具来实现公网访问!接下来介绍一下如何安装cpolar内网穿透并实现Moments的公网访问!

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

接下来配置一下Moments的公网地址,

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

创建一个Moments的公网http地址隧道

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

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

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

image.png

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

image.png

小结

如果大家需要经常外出或使用手机来发布这款朋友圈,或者是异地访问其他在本地局域网部署的服务,比如个人网站啊,私有云盘等等,由于刚才创建的是随机的地址,24小时会发生变化。另外它的网址是由随机字符生成,不容易记忆。

建议把公网地址设置成固定的二级子域名,这样就不用每次都重新创建隧道来访问,下面演示一下如何创建一个固定的http公网地址来解决这个问题。

5. 配置固定公网地址

我们接下来为 Moments 配置固定的HTTP公网地址,该地址不会变化,方便查看且无需每天重复修改访问地址。

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

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

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

image.png

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

image.png

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

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

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

image.png

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

image.png

使用生成的公网地址访问,可以看到访问成功,这样一个Moments的固定且永久不变的二级子域名公网地址就设置好了,大家可以使用这个地址随时随地异地访问Moments发布日常,还可以分享给朋友们进行互动 =。=~

image.png

使用手机浏览器打开同样也可以发布内容!

c53d2bb333d512570ed8a41debfd369.jpg

以上就是如何使用Docker本地部署Moments极简朋友圈,并结合cpolar内网穿透工具实现远程访问使用的全部流程。

“数字表达不该受限于单一平台或冗余功能。这个项目证明:当工具足够模块化时,每个人都能拥有适配自己需求的完美分享空间——现在就去Git仓库看看Moments如何成为你的社交操作系统!”
http://www.dtcms.com/a/284497.html

相关文章:

  • 麒麟信安参编的三项软件供应链安全团体标准发布
  • 运维工程师面试题174道
  • 单片机最小系统硬件调试踩的一些坑
  • lesson16:Python函数的认识
  • Linux手动安装Nginx(基于Centos 7)
  • ESLint 完整功能介绍和完整使用示例演示
  • 01项目管理概论
  • Shell变量
  • 操作系统系统面试常问(进程、线程、协程相关知识)
  • Java使用FastExcel实现Excel文件导入
  • 基于springboot+vue+mysql框架开发的景区民宿预约系统的设计与实现(源码+论文)
  • 政务类产品的用户场景如何描述
  • STM32 DMA通信详解
  • Qt CMake 学习文档
  • 优化 CSS 性能
  • 设计模式是什么呢?
  • Spring AI之Prompt开发
  • npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1
  • 理解 PS1/PROMPT 及 macOS iTerm2 + zsh 终端配置优化指南
  • 【AI大模型应用开发】Prompt提示词工程
  • 013【入门】队列和栈-链表、数组实现
  • IPC进程间通信 interprocess communicate
  • Expr系列1(函数,表达式,约束系统)
  • Claude Code如何集成到VSCode、PyCharm IDE及使用技巧
  • 云手机的具体技术要求有什么?
  • Flutter:上传图片,选择相机或相册:wechat_assets_picker
  • docker 容器无法使用dns解析域名异常问题排查
  • 微服务的编程测评系统3-加密-日志-apifox-nacos-全局异常
  • Kubernetes (k8s)环境重启Pod方式总结
  • CPU架构、三级缓存以及内存优化屏障