自建私密聊天系统,团队沟通项目:Fiora

自建私密聊天系统,团队沟通项目:Fiora

 次点击
104 分钟阅读

项目介绍

fiora 是一款有趣的聊天应用. 基于 node.js, mongodb, react 和 socket.io 等技术开发

该项目起始于 2015-11-04

在线地址: https://fiora.suisuijiang.com/
安卓/iOS app: https://github.com/yinxin630/fiora-app

特性功能

  1. 注册账号并登录, 可以长久保存你的数据

  2. 加入现有群组或者创建自己的群组, 来和大家交流

  3. 和任意人私聊, 并添加其为好友

  4. 多种消息类型, 包括文本 / 表情 / 图片 / 代码 / 文件 / 命令, 还可以搜索表情包

  5. 当收到新消息时推送通知, 可以自定义通知铃声, 还可以把消息读出来

  6. 选择你喜欢的主题, 并且可以设置为任何你喜欢的壁纸以及主题颜色

  7. 设置管理员来管理用户

安装指南

Docker Compose部署

version: '3.2'

services:
  mongodb:
    image: mongo
    restart: always
  redis:
    image: redis
    restart: always
  fiora:
    build: .
    restart: always
    ports:
      - "9200:9200"
    environment:
      - Database=mongodb://mongodb/fiora
      - RedisHost=redis

食用

浏览器中输入 http://NAS的IP:9200

进阶食用

服务器配置 config/server.ts 客户端配置 config/client.ts

相比于直接修改配置文件, 推荐用环境变量来修改配置
在 fiora 根目录创建 .env 文件, 在里面填写 key=value 键值对(每行一个), 即可修改相应配置. 比如修改端口号 Port=8888

服务端配置

修改服务端配置需要重启应用

Key

类型

默认值

描述

Host

string

your ip

服务端 host

Port

number

9200

服务端端口号

Database

string

mongodb://localhost:27017/fiora

mongoDB 数据库地址

RedisHost

string

localhost

redis 地址主机名

RedisPort

number

6379

redis 端口

JwtSecret

string

jwtSecret (推荐修改它来保证安全性)

jwt token 加密 secret

MaxGroupCount

number

3

用户最大可以创建的群组个数

AllowOrigin

string

null

允许的客户端 origin 列表, null 时允许所有 origin 连接, 多个值逗号分割

tokenExpiresTime

number

2592000000 (30 天)

登陆 token 过期时间

Administrator

string

''

管理员用户 id 列表, 多个值逗号分割

DisableRegister

boolean

false

禁止注册账号

DisableCreateGroup

boolean

false

禁止创建群组

ALIYUN_OSS

boolean

false

启用阿里云 OSS

ACCESS_KEY_ID

string

''

阿里云 OSS access key id. 参考: https://help.aliyun.com/document_detail/48699.html

ACCESS_KEY_SECRET

string

''

阿里云 OSS access key secret. 参考和 ACCESS_KEY_ID 相同

ROLE_ARN

string

''

阿里云 OSS RoleARN. 参考: https://help.aliyun.com/document_detail/28649.html

REGION

string

''

阿里云 OSS 地域. 例如: oss-cn-zhangjiakou

BUCKET

string

''

阿里云 OSS bucket 名称

ENDPOINT

string

''

阿里云 OSS 域名. 例如: cdn.suisuijiang.com

客户端配置

修改客户端配置需要重新构建客户端

Key

类型

默认值

描述

Server

string

/

客户端要连接的服务端地址

MaxImageSize

number

3145728 (3MB)

客户端可以上传的最大图片大小

MaxBackgroundImageSize

number

5242880 (5MB)

客户端可以上传的最大背景图大小

MaxAvatarSize

number

1572864 (1.5MB)

客户端可以上传的最大头像图片大小

MaxFileSize

number

10485760 (10MB)

客户端可以上传的最大文件大小

DefaultTheme

string

cool

默认主题

Sound

string

default

默认通知音

TagColorMode

string

fixedColor

默认标签颜色模式

FrontendMonitorAppId

string

fixedColor

岳鹰监控 appId https://yueying.effirst.com/index

DisableDeleteMessage

boolean

false

禁止用户撤回消息

总结

Fiora 是一款 开源且功能完整的实时聊天应用,基于 Node.js、React、Socket.ioMongoDB + Redis 技术栈开发,支持 Web、Android 和 iOS 多端展示与交互。它具备注册登录、好友添加、私聊/群聊、丰富消息类型(文本、表情、图片、代码片段、文件等)、推送通知、主题自定义和管理员权限等常见即时通讯功能,适合作为自托管聊天平台或者学习实时通信应用的参考项目。

© 本文著作权归作者所有,未经许可不得转载使用。