自己搭建一套聊天系统Rocket.chat(可在Internet使用)
⚠⚠⚠⚠:我就是一个不懂技术的小白!
rocket-chat是一个开源的社交软件,即可以直接在web页面使用,也可以下载APP(Android,IOS,Windows,Mac OS)
主要功能:群组聊天,直接通信,私聊群,桌面通知,媒体嵌入,链接预览,文件上传,语音/视频 聊天,截图等,还支持实时翻译,实现用户之间的自动实时消息转换。
话不多说,直接上效果;
教程来啦!
我是用的docker轻量化运行!
1、首先,需要准备Centos7服务器。需要外网IP(如果需要外网访问),并在安全组中开放3000端口,并连接到服务器,并且已经安装了docker。
2.安装docker-compose,这里提及两个方式安装;(源码安装;yum安装)
(1)源码安装
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
(2)yum安装
docker-compose的包存在于epel库中,所以我们要先安装epel库!
#首先安装epel库
yum -y install epel-release
#安装docker-compose
yum -y install docker-compose
3.获取Rocket.chat的compose文件;
官网地址
https://docs.rocket.chat/quick-start/installing-and-updating/docker-containers/docker-compose
docker-compose内容
version: '2'services:rocketchat:image: registry.rocket.chat/rocketchat/rocket.chat:latestcommand: >bash -c"for i in `seq 1 30`; donode main.js &&s=$$? && break || s=$$?;echo \"Tried $$i times. Waiting 5 secs...\";sleep 5;done; (exit $$s)"restart: unless-stoppedvolumes:- ./uploads:/app/uploadsenvironment:- PORT=3000- ROOT_URL=http://localhost:3000- MONGO_URL=mongodb://mongo:27017/rocketchat- MONGO_OPLOG_URL=mongodb://mongo:27017/local
# - MAIL_URL=smtp://smtp.email
# - HTTP_PROXY=http://proxy.domain.com
# - HTTPS_PROXY=http://proxy.domain.comdepends_on:- mongoports:- 3000:3000labels:- "traefik.backend=rocketchat"- "traefik.frontend.rule=Host: your.domain.tld"mongo:image: mongo:4.0restart: unless-stoppedvolumes:- ./data/db:/data/db#- ./data/dump:/dumpcommand: mongod --smallfiles --oplogSize 128 --replSet rs0 --storageEngine=mmapv1labels:- "traefik.enable=false"# this container's job is just run the command to initialize the replica set.# it will run the command and remove himself (it will not stay running)mongo-init-replica:image: mongo:4.0command: >bash -c"for i in `seq 1 30`; domongo mongo/rocketchat --eval \"rs.initiate({_id: 'rs0',members: [ { _id: 0, host: 'localhost:27017' } ]})\" &&s=$$? && break || s=$$?;echo \"Tried $$i times. Waiting 5 secs...\";sleep 5;done; (exit $$s)"depends_on:- mongo# hubot, the popular chatbot (add the bot user first and change the password before starting this image)hubot:image: rocketchat/hubot-rocketchat:latestrestart: unless-stoppedenvironment:- ROCKETCHAT_URL=rocketchat:3000- ROCKETCHAT_ROOM=GENERAL- ROCKETCHAT_USER=bot- ROCKETCHAT_PASSWORD=botpassword- BOT_NAME=bot# you can add more scripts as you'd like here, they need to be installable by npm- EXTERNAL_SCRIPTS=hubot-help,hubot-seen,hubot-links,hubot-diagnosticsdepends_on:- rocketchatlabels:- "traefik.enable=false"volumes:- ./scripts:/home/hubot/scripts# this is used to expose the hubot port for notifications on the host on port 3001, e.g. for hubot-jenkins-notifierports:- 3001:8080#traefik:# image: traefik:latest# restart: unless-stopped# command: ># traefik# --docker# --acme=true# --acme.domains='your.domain.tld'# --acme.email='your@email.tld'# --acme.entrypoint=https# --acme.storagefile=acme.json# --defaultentrypoints=http# --defaultentrypoints=https# --entryPoints='Name:http Address::80 Redirect.EntryPoint:https'# --entryPoints='Name:https Address::443 TLS.Certificates:'# ports:# - 80:80# - 443:443# volumes:# - /var/run/docker.sock:/var/run/docker.sock
#获取完docker-compose文件,直接启动,拉取镜像
[root@localhost chat]# docker-compose up -d
Creating network "chat_default" with the default driver
Pulling mongo (mongo:4.0)...
Trying to pull repository docker.io/library/mongo ...
4.0: Pulling from docker.io/library/mongo
58690f9b18fc: Pull complete
b51569e7c507: Pull complete
da8ef40b9eca: Pull complete
fb15d46c38dc: Pull complete
8c5b4403b3cc: Pull complete
a336ecd37208: Pull complete
12c733cd45a4: Pull complete
0500d06255ed: Pull complete
166a5a996686: Pull complete
709f9e8f3eb4: Pull complete
22bd5150d072: Extracting [==============================> ] 64.06 MB/105.9 MB
740523b21eb5: Download complete
76dcc5baf521: Download complete
……………………
Creating chat_mongo_1 ... done
Creating chat_rocketchat_1 ... done
Creating chat_hubot_1 ... done
等镜像拉完查看各个容器的状态
#
[root@localhost chat]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3e57e7101a21 rocketchat/hubot-rocketchat:latest "/bin/sh -c 'node ..." 2 minutes ago Up 2 minutes 0.0.0.0:3001->8080/tcp chat_hubot_1
e7891bbc22db registry.rocket.chat/rocketchat/rocket.chat:latest "docker-entrypoint..." 2 minutes ago Up 2 minutes 0.0.0.0:3000->3000/tcp chat_rocketchat_1
f26a68d48284 mongo:4.0 "docker-entrypoint..." 2 minutes ago Up 2 minutes 27017/tcp chat_mongo_1#第二个容器才是我们要访问的
第一个hubot-rocketchat,是一个机器人的功能,我自己试了一下,没什么用,并不能像tuling那样智能;
mongo用于保存rocketchat的数据;
接下来就可以访问啦!
注意,开放3000端口 or 关闭防火墙,如果你是公有云服务器,记得修改你的安全组!
访问地址:ip:3000
#注意!!!姓名可以是中文,但是用户名和组织电邮必须是英文或者是拼音(不能是中文)
姓名就是在rocketchat中显示的你的名字(后面也可以修改)
密码默认并没有复杂性要求(你随便输就行,但要记住你设置的密码)
#解说组织信息有很多,其实就是可填可不填,但是尺寸看起来有点用!我选的最大,字面理解应该是这个组织可以容纳多少用户,实际上我也没有测是不是这个意思!
#解说:这个和上面的组织信息一样,可填可不填!网站名称就是访问的时候网页顶部显示标题名称,就是html中的head !语言我选的中文,也支持其他国家的语言!服务类型又私人社区和公共社区可选,我选的公共社区!最后一项,自动启用验证我是关了的,否则用户注册是需要邮箱认证的!建议是关掉邮箱认证!
#解说:这一步是选择你是否注册到rockerchat的服务器,rockerchat的官网访问**!所以我就不注册了,选择独立运行!
至此,rocketchat就部署好了!
有三个容器,还有一个没有提到的hubot容器,至于hubot-rocketchat是怎么使用的,后面再单独做一个文档!
结尾:
⚠:我就是一个不懂技术的小白!
自己搭建一套聊天系统Rocket.chat(可在Internet使用)相关推荐
- Rocket.Chat
之前无聊在自己服务器搭建了一个im Rocket.Chat 还挺好玩的 mac IOS 安卓 win都可以用聊天. 地址 无聊可以注册个账号玩一玩 但因为是我自己的服务器,配置很低第一次进入应该会很卡 ...
- un直连服务器教程,UNRAID 搭建Rocket.Chat 私有聊天服务器教程
前言: 为什么搭建属于自己的聊天服务器呢,纯属无聊,但是搭建了之后发现功能强大,比QQ舒服,怎么说也是自己的地盘,和几个好朋友,好基友,可以畅所欲言,还是很不错的. 教程: 一.配置MongoDB 打 ...
- centos7上rocket.chat环境搭建
一.安装nodejs(二进制文件安装) 1.安装依赖包:yum install gcc gcc-c++ 2.上传nodejs编译包node-v8.15.1-linux-x64.tar.xz到/usr/ ...
- 使用WebSocket搭建一个智能聊天系统
大家都知道WebSocket协议是基于TCP的一种新的网络协议.它实现了浏览器与服务器全双工(full-duplex)通信--允许服务器主动发送信息给客户端. 自从html5支持websocket以后 ...
- 从零搭建一套结构光3D重建系统[理论+源码+实践]
01 背景介绍 图1 典型3D结构光系统 尽管结构光作为一种已经相当成熟,并且广泛应用的三维重建技术,不同于深度学习,依旧缺乏相关的课程,网上的开源资料寥寥无几,即使有,也是晦涩难懂,许多刚入门的研究 ...
- 使用宝塔面板安装Rocket.Chat多功能团队聊天室
安装 官方文档:https://rocket.chat/docs/ 环境要求:NodeJS 8.11.4.Mongodb 4.0.9.Nginx(非必需). 提示:由于官方建议的最低内存1G,所以51 ...
- 【安全漏洞】Rocket.Chat 远程命令执行漏洞分析
简述 Rocket.Chat 是一个开源的完全可定制的通信平台,由 Javascript 开发,适用于具有高标准数据保护的组织. 2021年3月19日,该漏洞在 HackerOne 被提出,于2021 ...
- 直播回顾丨神策数据王朋:如何搭建一套高可用的前端异常监控系统?
本文根据神策数据资深前端研发工程师王朋在神策「大数据技术系列直播课」第二季"前端专题"第四讲的直播整理. 本次分享主要分为三大部分:前端异常监控概述,异常监控的背景意义,以及做一个 ...
- 搭建一套ASP.NET Core+Nacos+Spring Cloud Gateway项目
前言 伴随着随着微服务概念的不断盛行,与之对应的各种解决方案也层出不穷.这毕竟是一个信息大爆发的时代,各种编程语言大行其道,各有各的优势.但是有一点未曾改变,那就是他们服务的方式,工作的时候各司其职, ...
最新文章
- 打包图片上传cdn_紧抓5G新时代机遇 又拍云创新发展CDN行业
- java格林认证_Java考试格林模拟题
- select 统计 没有 为0_sql where 1=1和 0=1 的作用
- html5模板 制作,优秀的H5作品是如何炼成的?模板制作详解!
- 图解 SpringCloud 体系!
- 安装SQL Server2012报Microsoft.NET Framework4无法安装错误解决方案
- 天正安装autocad启动失败_安装天正后cad无法启动 - 卡饭网
- 使用Sentencepiece +CNN进行文本分类
- 被发哥拉着跪向观众,朱军为何如此惊魂?
- PHP生成海报/PHP合并图片/PHP图片处理
- ireport 5.6.0 添加 Conditional Style 动态加粗字体
- 文案馆头像壁纸小程序源码 带后台
- 网络推广文案标题的重要性
- ppt学习07——动画
- 如何用Python检验线性回归的假设是否满足
- H3CTE讲师分享H3C实验8 帧中继
- 基于MATLAB的动态前景目标特征提取与运动跟踪
- IP(OSPF综合实验)
- 宇宙中有三恒星系统吗?如果有,三颗恒星该如何绕行呢?
- 大学生最应该考的十大最有价值证书
热门文章
- linux7inittab文件不存在,嵌入式linux启动时运行的inittab文件
- oracle数据库函数mod,oracle数据库常用函数
- 黑芝麻智能杨宇欣:自动驾驶已从产业培育期过渡到快速增长期
- tomcat 配置 cronolog
- 《The Chubby lock service for loosely-coupled distributed systems》论文阅读
- RDIFramework.NET平台代码生成器V3.2版本全新发布(提供下载-免费使用)
- 【PPT分享】Evan Vue.js 技术分享
- 极度未知(HyperX)家族小配列大制作60%键盘——起源60游戏键盘
- 《精神健康讲记:一个中医眼中的身心调适与精神发展》阅读笔记 P3-P52
- Java实验二——燃气和用水缴费