Rocket.Chat

在VPS上安装 Rocket.Chat,这是一款强大的开源即时通讯平台,可以用于团队协作或作为公共聊天室使用。
将通过 Docker 部署,确保安装简便、灵活。

1. 安装Docker

Docker是一个非常适合部署应用的容器化平台,通过Docker你可以轻松拉取、启动Rocket.Chat的容器。以下是如何在你的VPS上安装Docker的步骤:

1.1 更新系统软件包

首先,确保你的VPS上安装的软件包是最新的:

1
2
sudo apt update
sudo apt upgrade

1.2 安装Docker

使用以下命令安装Docker:

1
sudo apt install docker.io

1.3 启动Docker并设置开机启动

安装完Docker后,需要启动它并设置为开机自动启动:

1
2
sudo systemctl start docker
sudo systemctl enable docker

1.4 验证Docker是否成功安装

通过以下命令验证Docker是否成功安装:

1
docker --version

你应该能看到Docker的版本信息,例如 Docker version 20.10.7

2. 安装Docker Compose(可选)

如果你打算使用 Docker Compose 来管理多个容器(例如Rocket.Chat和MongoDB数据库),可以安装 docker-compose。这是一个方便的工具,适合管理多容器应用。

2.1 安装Docker Compose

运行以下命令安装Docker Compose:

1
sudo apt install docker-compose

3. 拉取并运行Rocket.Chat容器

Rocket.Chat依赖于 MongoDB 数据库。我们将同时运行两个Docker容器:一个是Rocket.Chat应用容器,另一个是MongoDB容器。

3.1 启动MongoDB容器

首先,我们需要启动MongoDB容器,因为Rocket.Chat需要依赖MongoDB数据库。运行以下命令拉取并启动MongoDB:

1
2
3
4
docker run --name mongodb -d \
-p 27017:27017 \
-v /opt/rocketchat/data/db:/data/db \
mongo:4.0

解释:

  • --name mongodb:容器名称为mongodb
  • -d:后台运行容器。
  • -p 27017:27017:将本地的27017端口映射到MongoDB容器的27017端口。
  • -v /opt/rocketchat/data/db:/data/db:将MongoDB的数据持久化存储在宿主机的/opt/rocketchat/data/db目录下。

3.2 启动Rocket.Chat容器

接着,运行Rocket.Chat容器并连接到MongoDB:

1
2
3
4
5
6
7
docker run --name rocketchat -d \
--link mongodb:db \
-p 3000:3000 \
-e MONGO_URL=mongodb://db:27017/rocketchat \
-e ROOT_URL=http://localhost:3000 \
-v /opt/rocketchat/uploads:/app/uploads \
rocketchat/rocket.chat

解释:

  • --name rocketchat:容器名称为rocketchat
  • --link mongodb:db:将MongoDB容器链接到Rocket.Chat容器,并在Rocket.Chat内部通过db主机名访问MongoDB。
  • -p 3000:3000:将Rocket.Chat应用容器的3000端口映射到VPS的3000端口。
  • -e MONGO_URL=mongodb://db:27017/rocketchat:指定Rocket.Chat使用MongoDB数据库。
  • -e ROOT_URL=http://localhost:3000:指定Rocket.Chat的根URL。
  • -v /opt/rocketchat/uploads:/app/uploads:将文件上传持久化存储在宿主机的 /opt/rocketchat/uploads 目录下。

3.3 验证容器是否运行成功

使用以下命令检查容器的运行状态:

1
docker ps

你应该能看到 mongodbrocketchat 两个容器正在运行。如果需要查看容器日志,可以使用:

1
docker logs -f rocketchat

4. 访问Rocket.Chat

Rocket.Chat默认运行在VPS的 3000 端口。你可以通过浏览器访问以下URL来打开Rocket.Chat的Web界面:

1
http://<你的VPS_IP>:3000

例如,如果你的VPS的IP地址是 192.168.1.100,则访问:

1
http://192.168.1.100:3000

5. Rocket.Chat的初始设置

首次访问时,你需要完成一些初始配置:

  1. 创建管理员账号:你需要设置管理员用户名、密码和邮箱地址。
  2. 服务器配置:根据你的需求配置服务器的基本信息,如组织名称、服务器名等。
  3. 邀请用户:你可以通过界面邀请其他用户加入聊天室。

6. 配置域名和HTTPS(可选)

为了使你的聊天室更专业、安全,你可以配置一个域名并启用HTTPS。假设你已经有一个域名,可以通过Nginx反向代理和Let’s Encrypt来配置HTTPS。

6.1 安装Nginx

首先,在VPS上安装Nginx:

1
sudo apt install nginx

6.2 配置Nginx反向代理

创建一个Nginx配置文件来反向代理Rocket.Chat:

1
sudo nano /etc/nginx/sites-available/rocketchat

在文件中添加以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
server {
listen 80;
server_name yourdomain.com;

location / {
proxy_pass http://localhost:3000/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}

yourdomain.com 替换为你的实际域名。

6.3 启用配置并重启Nginx

启用配置并重启Nginx:

1
2
sudo ln -s /etc/nginx/sites-available/rocketchat /etc/nginx/sites-enabled/
sudo systemctl restart nginx

6.4 安装Let’s Encrypt证书

使用Certbot安装Let’s Encrypt免费SSL证书:

1
2
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com

按照提示完成SSL证书的安装。配置成功后,Rocket.Chat将通过HTTPS安全连接提供服务。