# 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/>

#### 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 項目