这是一个在线聊天室应用。基于chat-room 修改。
- 聊天室在线人数 (在输入框上面显示当前房间在线用户及用户列表)
- 首页显示 (首页内容请编辑
/views/index.ejs
文件即可) - 发送时间
- 聊天室密码功能 (第一个创建房间的用户可以设置密码,其他用户必须正确输入密码才能进入该房间)
- 图片lightbox特效
- 聊天窗口自动嵌入分享的YouTube链接
特点如下(来自chat-room):
- 支持发送图片消息,音频消息,视频消息以及文件消息。
- 支持多房间,每个链接都是一个独立的聊天室,例如: https://onlinechat-0iyv.onrender.com/roomID
- 支持管理员踢人,输入
kick username
即可。 - 第一个进入房间的自动成为管理员。
- 页面为移动端做了专门优化。
演示站:
roomID 可以是任意字符串,但不能以"?"开头,如果以'?"开头会打开首页。
首次访问需要稍等几秒,这是由于应用冻结了,之后就会好很多。
执行:docker run --restart=always -d -p 3000:3000 davoola/onlinechat:latest
开放的端口号为 3000,之后用 Nginx 配置域名,反代以及 SSL 证书即可。
更新版本的命令:docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower -cR
docker-compose.ymal文件内容如下:
version: "3"
services:
onlinechat:
restart: always
ports:
- 3000:3000
image: davoola/onlinechat:latest
git clone https://github.com/davoola/onlinechat.git
cd onlinechat
# 安装依赖
npm install
# 启动服务
npm start
# 推荐使用 pm2 进行启动
# 1. 安装 pm2
npm i -g pm2
# 2. 使用 pm2 启动服务
pm2 start ./app.js --name chat-room