# 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://rocket.chat/docs/installation/paas-deployments/aliyun/>
![](https://box.kancloud.cn/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)
- 0. 介绍
- 1. 安装 docker
- 2. docker 的镜像和镜像源加速
- 3. docker 的容器
- 4. 理解 docker 镜像的层叠结构
- 5. 使用 Dockerfile 文件
- 6. docker 的数据卷
- 7. Docker Compose 的介绍与安装
- 8. 使用 compose 部署 GitLab 应用
- 9. 使用 compose 部署 Rocket.Chat 应用
- 10. docker 部署深入理解
- 11. 部署 owncloud 与 phpMyAdmin
- 12. 让 php-fpm 跑的 owncloud 应用 docker 化
- 13. docker 迁移 GitLab 项目