像Slack一样在BYOS上安装OSS chat Rocket.Chat


后记)2016/08/22

Atmark IT似乎具有序列化。

http://www.atmarkit.co.jp/ait/articles/1608/18/news014.html

介绍

环境,版本信息

$ uname -a
Linux solydxk 3.16.0-4-amd64#1 SMP Debian 3.16.7-ckt9-3?deb8u1(2015-04-24)x86_64 GNU / Linux

$ docker -v
Docker版本1.6.2,内部版本7c8fca2

$ docker images
存储库标记图像ID已创建虚拟尺寸
rocketchat / rocket.chat最新0cae0d783df5 2天前422.1 MB

什么是Rocket.Chat

https://github.com/RocketChat/Rocket.Chat

这是流星制作的聊天应用程序。
由于它是BYOS,因此您需要自行安装并启动它。

这几乎类似于Slack或几乎Slack UI。
如果您想使用Slack,HipChat或ChatWork,但由于某些不幸的原因而必须在Intranet上构建它,那么Rocket.Chat可能是您的选择之一。

以下是自述文件的摘录。

功能

目前

  • BYOS(自带服务器)
  • 多个房间
  • 直接讯息
  • 私人团体
  • 公开频道
  • 桌面通知
  • 提及
  • 头像
  • 降价促销
  • 表情符号
  • 成绩单/历史
  • I18n-Lingohub的国际化
  • Hubot Friendly-Hubot整合项目
  • 媒体嵌入
  • 链接预览
  • LDAP认证-Rocket.Chat Wiki上的LDAP认证
  • 面对面视频会议又称WebRTC信令(Alpha)

你很热情。
即使使用Alpha,我也尝试进行视频聊天。
能够与LDAP链接对于Intranet可能很简单。

其他OSS上的BYOS聊天应用程序(截至7/12 0:40)

<表格>

名称

URL

框架

Github Stars

初始提交

最后提交(主文件)


<身体>

DevHub

https://github.com/volpe28v/DevHub

nodejs,socket.io

98

2012年1月29日

2015年7月1日

让我们聊天

https://github.com/sdelements/lets-chat

nodejs,socket.io,python

6882

2012年2月26日

2015年7月11日

Kadan

https://github.com/kandanapp/kandan

rails

2648

2012年3月4日

2015年5月8日

MogoChat

https://github.com/HashNuke/mogo-chat

长生不老药,凤凰城,ember.js

692

2014年1月12日

2014年4月12日

Rocket.Chat

https://github.com/RocketChat/Rocket.Chat

nodejs,流星

2578

2015年5月17日

2015年7月10日


当我用Google搜索时,似乎有一些类似的OSS,尤其是"聊天记录"。
我没有用过它们,所以无法正确比较它们...
考虑到信息量,"聊天"可能是最安全的选择。

另一方面,Rocket.Chat最近才问世,但已经超过2500星。
星星不是万能的,但它有动力。
我想暂时保持发展势头,所以我安装了Rocket.Chat。

使用Docker

自述文件,
我很容易写docker pull rocketchat/rocket.chat,但是
即使使用docker run rocketchat/rocket.chat,这也不适用于Rocket.Chat。

启动时的错误详细信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
yasuhiroki@solydxk ~ $ docker run rocketchat/rocket.chat
=> Starting meteor app on port:80

/built_app/programs/server/node_modules/fibers/future.js:245
                        throw(ex);
                              ^
Error: MONGO_URL must be set in environment
    at Object.<anonymous> (packages/mongo/remote_collection_driver.js:36:1)
    at Object.defaultRemoteCollectionDriver (packages/underscore/underscore.js:750:1)
    at new Mongo.Collection (packages/mongo/collection.js:98:1)
    at packages/accounts-base/accounts_common.js:141:1
    at /built_app/programs/server/packages/accounts-base.js:243:4
    at /built_app/programs/server/packages/accounts-base.js:1659:3
    at /built_app/programs/server/boot.js:222:10
    at Array.forEach (native)
    at Function._.each._.forEach (/built_app/programs/server/node_modules/underscore/underscore.js:79:11)
    at /built_app/programs/server/boot.js:117:5

如您所见,我们需要MongoDB URL。
既然这很重要,那么让我们也使用Docker创建一个MongoDB服务器。

MongoDB容器创建

1
2
yasuhiroki@solydxk ~ $ docker pull mongo
yasuhiroki@solydxk ~ $ docker run -v ~/rocketchat-mongodb:/data/db --name rocketchat-db mongo

-v ~/rocketchat-mongodb:/data/db用于使MongoDB数据持久化。如果没有~/rocketchat-mongodb,它将自动创建。
有关更多信息,请参见Docker文档。
https://docs.docker.com/userguide/dockervolumes/
--name rocketchat-db命名的原因是接下来使用Docker容器的链接功能。

现在,让我们启动Rocket.Chat。

Rocket.Chat容器创建

1
2
yasuhiroki@solydxk ~ $ docker pull rocketchat/rocket.chat
yasuhiroki@solydxk ~ $ docker run --name rocketchat --link rocketchat-db:rocketchat -e MONGO_URL=mongodb://rocketchat-db:27017 -e ROOT_URL=http://localhost -p 55555:80 rocketchat/rocket.chat

使用

--link rocketchat-db:rocketchat链接到刚创建的MongoDB容器。
有关容器链接,另请参阅Docker文档。
https://docs.docker.com/userguide/dockerlinks/
该链接允许您指定-e MONGO_URL=mongodb://rocketchat-db:27017和MongoDB容器的名称。

端口转发在

-p 55555:80中设置。此设置允许您访问位于localhost:55555的Rocket.Chat。
或者,您可以将端口转发设置为-P-p 80。 Docker将为您分配一个适当的端口。在我的环境中是32770。 (即与-p 32770:80相同)。
有关详细信息,请参见Docker文档。
https://docs.docker.com/userguide/usingdocker/#running-a-web-application-in-docker

另外,在代理环境下可能需要-e "http_proxy=<HTTP_PROXY>" -e "https_proxy=<HTTPS_PROXY>"

访问

之后,只需访问它即可。
我先说,但是有时候很重。
如果这样不起作用,通常可以关闭并重新打开浏览器。

最佳

image

注册

帐户注册

image

您在此处注册的电子邮件地址也将在以后通过Gravatar获得头像图像时使用。

用户名注册

image

在这里,过渡到下一个屏幕可能很慢。
代理设置可能没有反映在容器中,而是超时。
启动Rocket.Chat时考虑添加-e "http_proxy=<HTTP_PROXY>" -e "https_proxy=<HTTPS_PROXY>"

头像选择

image

注册完成

image

如果您安全地移至"顶部"屏幕,则可以。

最后

我在Docker上安装了它,并总结了注册帐户的流程。
当然,如果您自己安装流星,准备MongoDB并构建它,则该应用程序应该可以运行。
但是,作为一个不熟悉nodejs和流星的人,如果暂时只是移动它,Docker会更容易,因为您不必担心详细的设置。

顺便说一句,在流星命令的情况下,

流星跑

1
2
3
4
curl https://install.meteor.com/ | sh # Install Meteor
git clone https://github.com/RocketChat/Rocket.Chat.git
cd Rocket.Chat
meteor

它与

一起使用。
如果要自己管理设置,则更好。

我暂时已经搬家了,所以我会尝试寻找机会并加以利用。

离题

顺便说一下,R??ocket.Chat的Dockerfile是↓。
https://github.com/RocketChat/Deploy.to.Cloud/blob/master/OfficialImage/Dockerfile
我有点烦恼,因为我无法从Docker Hub进行跟踪...