尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

fiora 安装部署全指南:从环境准备到 Docker 容器化的完整实战

发布时间:2026/9/29 2:34:27

资讯中心
01
ARTICLE

fiora 安装部署全指南:从环境准备到 Docker 容器化的完整实战

fiora 安装部署全指南:从环境准备到 Docker 容器化的完整实战
即时通讯后端前端移动开发【免费下载链接】fioraAn interesting open source chat application. Developed with node.js, mongoDB, socket.io and react项目地址https://gitcode.com/gh_mirrors/fi/fiora点击查看免费下载fiora 是一款基于 Node.js、MongoDB、Redis 与 React 构建的开源聊天应用本指南以官方安装文档 INSTALL.md 为核心完整梳理从环境准备、源码启动、后台守护、开发模式到 Docker 容器化的全部部署路径。读完本文你将掌握 fiora 在 Linux / macOS 环境下的四种主流运行方式并能通过环境变量精确控制服务端与客户端行为。环境准备运行 fiora 前必须就位的三个组件fiora 的运行时依赖三个核心组件缺一不可Node.js官方推荐v14 LTS 版本。根目录 package.json 中通过engines: { node: 14 }声明了最低版本要求低于 v14 无法正常运行推荐使用 nvm 安装与管理多版本 Node.js方便随时切换。MongoDB作为主数据库负责存储用户、群组、好友关系、历史消息等数据对应packages/database/mongoose/models/下的 user、group、friend、message、history 等模型。Redis作为缓存与辅助存储由 initRedis.ts 初始化用于支撑在线状态等实时能力。官方文档特别建议在Linux 或 macOS 系统上运行Windows 环境下部分脚本与原生依赖可能遇到兼容性问题。三个组件的安装入口分别为 Node.js 官网下载页、MongoDB 官方安装文档与 Redis 官方快速入门安装时请认准各官方渠道避免使用非官方源。如何运行七步从源码启动 fiorafiora 使用 Lerna 管理多包仓库根目录 package.json 的install脚本会自动执行lerna bootstrap完成子包依赖链接。完整启动流程如下克隆项目到本地git clone https://github.com/yinxin630/fiora.git -b master国内镜像加速场景下也可使用git clone https://gitcode.com/gh_mirrors/fi/fiora。确保已安装 yarnfiora 统一使用 yarn 管理依赖若未安装请执行npm install -g yarn。安装项目依赖yarn install该命令会触发根目录 install 脚本通过 Lerna 串联安装packages/下 server、web、config、database、utils 等各子包的依赖。构建客户端代码yarn build:web对应根目录脚本npx lerna run build:web --stream将 React 前端位于packages/web/打包为静态资源。配置 JwtSecret执行echo JwtSecretstring .env2将string替换为一串足够长的随机秘密文本。JWT 密钥用于签发与校验用户登录令牌若使用默认值存在安全隐患务必自定义。启动服务端yarn start该脚本通过lerna run start拉起服务端进程监听端口默认9200。浏览器访问打开http://[ip地址]:[端口]例如http://127.0.0.1:9200即可进入聊天界面。从 main.ts 的源码可以看到服务端启动的真实流程先初始化 MongoDB 连接再检查是否存在默认群组isDefault: true若不存在则自动创建一个名为fiora的默认群随后才调用app.listen(config.port, ...)开始对外监听并清理历史 Socket 记录。通过环境变量精确控制服务端行为服务端配置集中在 packages/config/server.ts所有选项均可通过环境变量覆盖启动前可在.env2中追加变量环境变量默认值说明Host本机 IP服务端监听 hostPort9200服务监听端口Databasemongodb://localhost:27017/fioraMongoDB 连接地址RedisHostlocalhostRedis 主机RedisPort6379Redis 端口JwtSecretjwtSecretJWT 加密密钥生产环境必须自定义MaxGroupCount3单个用户可创建群组数量上限AllowOriginnull允许跨域来源逗号分隔TokenExpiresTime30 天毫秒登录令牌过期时间Administrator空管理员用户 ID逗号分隔DisableRegisterfalse是否禁用注册功能DisableCreateGroupfalse是否禁止用户创建新群ALIYUN_OSS及ACCESS_KEY_ID等false是否启用阿里云 OSS 存储及凭证客户端侧同样支持环境变量见 packages/config/client.tsMaxImageSize默认 5MB、MaxAvatarSize默认 1.5MB、MaxFileSize默认 10MB、DefaultTheme默认cool、Sound、TagColorMode、DisableDeleteMessage等可在构建客户端前注入实现按需裁剪功能。在后台运行用 pm2 守护 fiora 进程直接执行yarn start启动的服务端与 SSH 会话绑定断开连接后进程即被终止不适合生产使用。官方推荐使用 pm2 进行进程守护与日志管理# 安装 pm2 npm install -g pm2 # 使用 pm2 运行 fiora pm2 start yarn --name fiora -- start # 查看 pm2 应用状态 pm2 ls # 查看 pm2 fiora 日志 pm2 logs fiorapm2 会接管进程生命周期SSH 断开后服务依然在线pm2 logs fiora可直接观察服务端日志输出。运行开发模式热更新联调的前后端分离流程开发调试时推荐将服务端与客户端分别启动前端代码修改即时生效启动服务端yarn dev:server对应根目录脚本npx lerna run dev:server --stream启动客户端yarn dev:web前端开发服务器带热更新浏览器访问http://localhost:8080在开发模式下客户端配置 client.ts 会自动将Server指向//localhost:9200实现前后端分离联调生产构建NODE_ENV非 development时则默认使用同源/路径。Docker 运行镜像直拉与本地构建两种方案若宿主机环境复杂或希望一键隔离依赖Docker 是更省心的选择。仓库根目录提供 Dockerfile基于node:14镜像内部执行yarn install与yarn build:web最终以yarn start作为启动命令与 docker-compose.yaml编排 mongodb、redis、fiora 三个服务。方案一直接从 DockerHub 镜像运行先安装 Docker然后按顺序执行# 拉取 mongo docker pull mongo # 拉取 redis docker pull redis # 拉取 fiora docker pull suisuijiang/fiora # 创建虚拟网络 docker network create fiora-network # 启动 MongoDB docker run --name fioradb -p 27017:27017 --network fiora-network mongo # 启动 Redis docker run --name fioraredis -p 6379:6379 --network fiora-network redis # 启动 fiora docker run --name fiora -p 9200:9200 --network fiora-network -e Databasemongodb://fioradb:27017/fiora -e RedisHostfioraredis suisuijiang/fiora要点说明三个容器必须加入同一个fiora-network虚拟网络才能通过容器名fioradb、fioraredis互相通信-p 9200:9200将容器的 9200 端口映射到宿主机浏览器通过宿主机 IP 的 9200 端口访问-e Database...与-e RedisHostfioraredis对应 server.ts 中的Database、RedisHost环境变量——这里使用容器网络内的服务名fioradb/fioraredis而非localhost是容器部署与本地部署的关键差异。方案二本地构建镜像运行docker-compose适合需要自定义代码或验证最新源码的场景克隆项目到本地git clone https://github.com/yinxin630/fiora.git -b master构建镜像docker-compose build --no-cache --force-rm运行服务docker-compose updocker-compose.yaml 中已预置完整编排mongodb、redis服务设置restart: always保证崩溃自恢复fiora服务将 9200 端口暴露给宿主机并通过Databasemongodb://mongodb/fiora与RedisHostredis两个环境变量完成服务互联docker-compose up后即可直接访问http://localhost:9200。部署验证与故障排查要点默认群组自动创建服务首次启动时 main.ts 会自动创建默认群fiora若在日志中看到[defaultGroup] create default group fail并退出说明 MongoDB 连接或初始化失败需检查Database环境变量。端口确认默认监听 9200 端口可通过Port环境变量修改开发模式前端固定在 8080 端口。JwtSecret 必须更换源码默认值为jwtSecret多人部署时务必写入随机长字符串否则登录令牌存在被伪造的风险。生产环境建议使用 pm2 守护或 Docker 编排保证进程常驻并通过DisableRegister、MaxGroupCount、Administrator等环境变量见 server.ts完成注册控制与管理员权限的基础治理。以上四种运行方式源码直接运行、pm2 后台守护、前后端分离开发模式、Docker 容器化覆盖了从个人尝鲜到生产部署的完整路径配合环境变量即可按需调整端口、数据库、存储与功能开关快速搭建一套属于自己的 fiora 聊天服务。赞分享即时通讯后端前端移动开发【免费下载链接】fioraAn interesting open source chat application. Developed with node.js, mongoDB, socket.io and react项目地址https://gitcode.com/gh_mirrors/fi/fiora点击查看免费下载相关推荐TransformerLab API CPU 版 Docker 部署完整指南从环境准备到容器化运行TransformerLab API CPU 版 Docker 部署完整指南从环境准备到容器化运行 导读 TransformerLab 是一个面向 AI 研究人工智能大模型微调模型评测模型推理服务LLMOps本地部署后端CLIDimOS时空RAG揭秘面向机器人记忆的向量数据库方案深度解析DimOS时空RAG揭秘面向机器人记忆的向量数据库方案深度解析 DimOS Dimensional是一个面向物理空间的智能体操作系统你可以用自然语言指挥即时通讯后端前端移动开发AutoBangumi Docker Compose 一键部署实战从环境准备到 qBittorrent 联动的完整指南AutoBangumi Docker Compose 一键部署实战从环境准备到 qBittorrent 联动的完整指南 AutoBangumi 官方推荐使用后端前端音视频上一篇Design System: Linear下一篇终极指南如何优化Seal视频下载器中FFmpeg的视频合并性能创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。