Fiora聊天系统本地化部署:Docker搭建与远程在线聊天的实践指南

news2025/4/21 21:54:25

文章目录

    • 前言
    • 1.关于Fiora
    • 2.安装Docker
    • 3.本地部署Fiora
    • 4.使用Fiora
    • 5.cpolar内网穿透工具安装
    • 6.创建远程连接公网地址
    • 7.固定Uptime Kuma公网地址

前言

这个通讯软件泛滥的时代,每天都在刷着同样的朋友圈、看着千篇一律的表情包,是不是觉得有点腻了?今天,我要给大家安利一个超级好玩又不失实用的在线聊天工具——Fiora!不仅可以让你和小伙伴们随时随地畅所欲言,还能展示你的技术实力和创造力。想怎么改就怎么改,从外观到功能随心所欲,简直不要太爽哦~

image-20241028154955329

1.关于Fiora

Fiora 以其独特的设计理念和灵活的技术架构赢得了众多技术爱好者的青睐。它不仅仅满足了人们对于个性化交流空间的需求,更重要的是,通过其开源模式,激发了一股新的创意浪潮。无论是资深程序员还是初学者,都能在这个平台上找到发挥自己才能的空间。接下来,我们将深入探讨 Fiora 的核心特性、使用体验以及如何参与到这个充满活力的社区中来。

如果你对即时通讯软件背后的科技原理感兴趣,或者想要了解如何利用开源项目打造个性化应用,那么请继续阅读下去,跟随我一起探索 Fiora 这个神奇的世界吧!

image-20241028154834585

以下事Fiora的功能特性:

  1. 注册账号并登录,可以长时间保存您的数据
  2. 加入现有群组或创建自己的群组以与所有人交流
  3. 与任何人私下聊天,并将他们添加为好友
  4. 多种消息类型,包括文本/表情/图片/代码/文件/命令,您还可以搜索表情符号
  5. 推送通知 当您收到新消息时,您可以自定义通知铃声,它也可以将消息读出
  6. 选择您喜欢的主题,您可以将其设置为您喜欢的任何壁纸和主题颜色
  7. 设置管理员以管理用户

**Github地址:**https://github.com/yinxin630/fiora

2.安装Docker

软件依赖:Docker 20.10.6 版本以上

我这里演示的环境是Ubuntu22.04,Docker版本是24.0.5

在终端中执行下方命令安装docker:

curl -fsSL https://get.docker.com -o get-docker.sh

然后再启动docker

sudo sh get-docker.sh

最后我们在docker容器中运行下 hello world 看一下是否安装成功。

sudo docker container run hello-world

可以看到出现了hello world,说明我们已经安装docker成功,就可以进行下一步了

image-20241008151101668

3.本地部署Fiora

本项目提供了最简单的方式,使用项目的一键安装脚本将项目克隆到本地

git clone https://github.com/yinxin630/fiora.git -b master

在这里插入图片描述

进入到fiora里

cd fiora

这里我们需要修改宿主机端口号,因为跟cpolar冲突,修改管理界面端口号改成9300

sudo nano docker-compose.yaml

在这里插入图片描述

构建镜像

sudo docker compose build --no-cache --force-rm

在这里插入图片描述

运行

sudo docker compose up -d

在这里插入图片描述

现在就已经安装成功了,您可以通过打开Web浏览器输入localhost:9300,就可以访问到Fiora的页面了。

image-20241028161905804

4.使用Fiora

我们可以点击下方登录选择注册,就可以进入到属于你自己的聊天页面了

image-20241028162007179

我们可以点击左上角的头像,来修改个人信息。这里有头像以及用户名密码都可以修改。

在这里插入图片描述

右上方的加号,创建群聊。

image-20241028162107395

现在就可以和你的小伙伴在你们自己创建的聊天室大聊特聊了,就算不用于聊天,也可以个人使用变成一个备忘录,更多玩法等你展开哦~

5.cpolar内网穿透工具安装

不过我们目前只能在本地局域网内使用刚刚部署的Fiora进行聊天,如果想和异地好友通过在家中部署的Fiora服务来像其他通讯软件一样远程聊天,应该怎么办呢?我们可以使用cpolar内网穿透工具来实现远程访问本地服务的需求。无需公网IP,也不用设置路由器那么麻烦。

下面是安装cpolar步骤:

Cpolar官网地址: https://www.cpolar.com

使用一键脚本安装命令

sudo curl https://get.cpolar.sh | sh

在这里插入图片描述

安装完成后,执行下方命令查看cpolar服务状态:(如图所示即为正常启动)

sudo systemctl status cpolar

img

Cpolar安装和成功启动服务后,在浏览器上输入ubuntu主机IP加9200端口即:【http://localhost:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 配置界面,接下来在web 界面配置即可:

在这里插入图片描述

6.创建远程连接公网地址

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

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

image-20241028163232216

创建成功后,打开左侧在线隧道列表,可以看到刚刚通过创建隧道生成了两个公网地址,接下来就可以在其他电脑(异地)上,使用任意一个地址在浏览器中访问即可。

image-20241028163322357

如下图所示,成功实现使用公网地址异地远程访问本地部署的Fiora。

image-20241028163407089

小结

为了方便演示,我们在上边的操作过程中使用cpolar生成的HTTP公网地址隧道,其公网地址是随机生成的。这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址是随机生成,这个地址在24小时内会发生随机变化,更适合于临时使用。

如果有长期使用Fiora与好友远程聊天,或者异地访问与使用其他本地部署的服务的需求,但又不想每天重新配置公网地址,还想让公网地址好看又好记并体验更多功能与更快的带宽,那我推荐大家选择使用固定的二级子域名方式来配置公网地址。

7.固定Uptime Kuma公网地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化。

点击左侧的预留,选择保留二级子域名,地区选择china top,然后设置一个二级子域名名称,填写备注信息,点击保留。

image-20241028164517169

保留成功后复制保留的二级子域名地址:

image-20241028164537850

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

image-20241028164608304

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

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

点击更新

image-20241028164636743

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

image-20241028164709495

最后,我们使用固定的公网地址访问Fiora可以看到访问成功,一个永久不会变化的远程访问方式即设置好了。

image-20241028164759848

最后,我们使用固定的公网地址访问Fiora可以看到访问成功,一个永久不会变化的远程访问方式即设置好了。 怎么样?是不是已经开始心动了呢?Fiora 绝对是你提升日常交流效率、展现个性魅力的秘密武器!无论是想要一个清爽简约的聊天界面,还是希望加入更多趣味十足的功能,它都能轻松搞定。快去试试吧,让你的技术生活从此不再单调!

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

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

相关文章

metersphere接口测试(1)使用MeterSphere进行接口测试

文章目录 前言接口文档单接口测试环境配置梳理接口测试场景测试接口 接口自动化怎么写复用性高的自动化测试用例 总结 前言 大汉堡工作第203天,本篇记录我第一次接触接口测试任务,最近有些懈怠啊~ 接口文档 首先就是接口地址,接口测试时用…

【实战ES】实战 Elasticsearch:快速上手与深度实践-8.2.2成本优化与冷热数据分离

👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 8.2.2AWS OpenSearch Serverless 成本优化与冷热数据分离深度实践1. 成本构成分析与优化机会识别1.1 Serverless模式成本分布1.2 冷热数据特征分析数据特征矩阵 2. 冷热数据…

MTK Android12 安装app添加密码锁限制

提示:通过安装前输入密码的需求,来熟悉了解PMS 基本的安装流程 文章目录 一、需求实现需求原因提醒 二、UML图-类图三、参考资料四、实现效果五、需求修改点修改文件及路径具体修改内容 六、源码流程分析PMS的复杂性代码量实现aidl 接口PackageManagerSe…

[数据结构]堆详解

目录 一、堆的概念及结构 二、堆的实现 1.堆的定义 2堆的初始化 3堆的插入 ​编辑 4.堆的删除 5堆的其他操作 6代码合集 三、堆的应用 (一)堆排序(重点) (二)TOP-K问题 一、堆的概念及结构 堆的…

LInux中常用的网络命令

配置 IP 地址 1.1 配置 IP 地址 IP 地址是计算机在互联网中唯一的地址编码。每台计算机如果需要接入网络和其他计算机进行数据通信,就必须配置唯一的公网 IP 地址。 配置 IP 地址有两种方法: 1)setup 工具 2)vi /etc/sysconf…

怎么实现: 大语言模型微调案例

怎么实现: 大语言模型微调案例 目录 怎么实现: 大语言模型微调案例输入一个反常识的问题:首都在北京天安门之后对输出模型进行测试:首都在北京天安门微调代码:测试微调模型代码:微调输出模型结构输出模型参数大小对比Qwen 2.5_0.5:53MB输出模型:951MB 是一样的,没有进行…

深入理解 MySQL 锁:基于 InnoDB 的并发控制解析

在数据库并发访问管理中,MySQL 提供了强大的锁机制来保证数据的一致性和完整性。作为默认存储引擎的 InnoDB,为 MySQL 带来了细粒度的锁控制,使其成为高并发应用的理想选择。本文将深入探讨 MySQL 的锁类型、分类、应用场景及其对性能的影响&…

Linux Nginx安装部署、注册服务

1、下载:https://nginx.org/en/download.html 下载nginx-1.27.4.tar.gz,上传到服务器 /opt/目录 在开始安装Nginx之前,首先需要安装一些依赖项,以确保Nginx编译和运行正常。打开终端并执行以下命令: yum install -y …

安全的实现数据备份和恢复

📕我是廖志伟,一名Java开发工程师、《Java项目实战——深入理解大型互联网企业通用技术》(基础篇)、(进阶篇)、(架构篇)清华大学出版社签约作家、Java领域优质创作者、CSDN博客专家、…

excel中两个表格的合并

使用函数: VLOOKUP函数 如果涉及在excel中两个工作表之间进行配对合并,则: VLOOKUP(C1,工作表名字!A:B,2,0) 参考: excel表格中vlookup函数的使用方法步骤https://haokan.baidu.com/v?pdwisenatural&vid132733503560775…

在 Windows 上快速部署 OpenManus:从安装到运行

在当今快速发展的 AI 领域,OpenManus 作为一个强大的开源工具,为开发者提供了便捷的 AI 应用开发体验。本文将详细介绍如何在 Windows 系统上安装并运行 OpenManus,帮助你快速搭建一个本地的 AI 开发环境。 一、安装 Anaconda Anaconda 是一…

uniapp实现 uview1 u-button的水波纹效果

说明&#xff1a; 由于uview2已经移除水波纹效果&#xff0c;这边又觉得那个效果好看&#xff0c;所以开发这个功能(原谅我不会录动图) 效果&#xff1a; 具体代码&#xff1a; <view class"ripple-container" touchstart"handleTouchStart" touchend&…

如何使用Cursor的claude-3.7模型来开发高保真的原型设计图,学会写好的提示词人人都是设计师

1、想要开发出高保真的设计图原型&#xff0c;需要给出cursor具体的提示词&#xff1a;比如我想开发一款IT面试题小程序&#xff0c;给出的提示词是这样的 我想开发一个 {IT面试题库小程序}&#xff0c;现在需要输出高保真的原型图&#xff0c;请通过以下方式帮我完成所有界面…

AGI大模型(5):提示词工程

1 什么是提示词工程&#xff08;Prompt&#xff09; 所谓的提示词其实指的就是提供给模型的⼀个⽂本⽚段&#xff0c;⽤于指导模型⽣成特定的输出或回答。提示词的⽬的是为模型提供⼀个任务的上下⽂&#xff0c;以便模型能够更准确地理解⽤户的意图&#xff0c;并⽣成相关的回…

[LeetCode热门100题]|137,260,268,面试17.19

1、137 只出现一次数字|| 1、题目描述 137 只出现一次数字||https://leetcode.cn/problems/single-number-ii/description/ 给你一个整数数组 nums &#xff0c;除某个元素仅出现 一次 外&#xff0c;其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。 你…

Android子线程更新View的方法原理

对于所有的Android开发者来说&#xff0c;“View的更新必须在UI线程中进行”是一项最基本常识。 如果不在UI线程中更新View&#xff0c;系统会抛出CalledFromWrongThreadException异常。那么有没有什么办法可以不在UI线程中更新View&#xff1f;答案当然是有的&#xff01; 一…

Kafka常用指令(详细)

Kafka常用指令&#xff08;详细&#xff09; 启停命令 前台启动 前台启动命令 ./bin/kafka-server-start.sh config/server.properties 后台启动方式1 后台启动命令加上参数-daemon&#xff0c;窗口关闭之后kafka后台程序继续运行 ./bin/kafka-server-start.sh -daemon co…

2025移动端软件供应链安全开源治理方案最佳实践

2025年3月13日&#xff0c;由中国软件评测中心、CAPPVD漏洞库联合主办的“第六期移动互联网APP产品安全漏洞技术沙龙”在海口成功召开。悬镜安全基于移动端数字供应链安全开源治理方案荣获中国软件评测中心“2024移动互联网APP产品安全漏洞治理”优秀案例&#xff0c;并获颁证书…

《C#上位机开发从门外到门内》2-3:SPI总线协议详解及应用实践

文章目录 一、引言二、SPI总线协议的基本原理三、SPI通信模式详解 —— CPOL与CPHA3.1 时钟极性&#xff08;CPOL&#xff09;3.2 时钟相位&#xff08;CPHA&#xff09;3.3 四种SPI模式 四、主从设备通信机制4.1 通信流程概述4.2 数据帧结构与传输细节4.3 主设备与从设备的协同…

vscode出现:No module named ‘requests‘ 问题的解决方法

问题&#xff1a; ① No module named requests ② pip install requests&#xff1a;显示已经安装成功 运行失败原因&#xff1a; 我的失败原因是因为&#xff1a;我的python环境有两个&#xff0c;电脑C盘默认一个、pycharm下载后在它的路径下有一个。而vscode所运行的环境…