9. 使用 compose 部署 Rocket.Chat 应用
最后更新于:2022-04-02 01:41:06
# 9. 使用 compose 部署 Rocket.Chat 应用
#### 1. 介绍
上一篇:[使用compose部署gitlab应用(八)](https://www.rails365.net/articles/shi-yong-compose-bu-shu-gitlab-ying-yong-ba)
[Rocket.Chat](https://github.com/RocketChat/Rocket.Chat)是类似一个slack的聊天室应用,要部署它很简单,官方就有文档,只要照着那文档来即可。
它的文档地址是:
![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/033b06d3b6b4213f86203ab65010e45b_2190x1620.png)
#### 2. 部署
**最好切换到root账号下部署。**
第一步如下:
```
mkdir /home/rocketchat
cd /home/rocketchat
mkdir data
mkdir dump
```
接着新建docker-compose.yml文件:
```
db:
image: mongo
volumes:
- $PWD/data:/data/db
- $PWD/dump:/dump
command: mongod --smallfiles
web:
image: rocketchat/rocket.chat
environment:
- MONGO_URL=mongodb://db:27017/meteor
- ROOT_URL=http://your-ip-address:8818
links:
- db:db
ports:
- 8818:3000
```
其中`your-ip-address`改成你自己的外网的域名或ip。
用的是官方提供的docker镜像[RocketChat](https://github.com/RocketChat/Docker.Official.Image)。
然后部署:
```
$ docker-compose up
```
如果没什么问题,就使用`8818`端口访问。
最后在线上可以加上`-d`开启守护态。
#### nginx配置
最后加上nginx的反向代理配置。
```
upstream chat {
server 127.0.0.1:8818;
}
server {
listen 80;
server_name chat.rails365.net;
error_log /var/log/nginx/rocketchat.access.log;
location / {
proxy_pass http://chat/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forward-Proto http;
proxy_set_header X-Nginx-Proxy true;
proxy_redirect off;
}
}
```
完结。
下一篇:[docker部署深入理解之数据库(十)](https://www.rails365.net/articles/docker-bu-shu-shen-ru-li-jie-zhi-shu-ju-ku-shi)
';