Loading...

Bluehost Self-Managed VPS: Reimage Your Server for Rocket.Chat Installation

Rocket.Chat is an open-source team communication platform. It provides secure workspace messaging, voice and video calling and file sharing in real-time. Self-hosted, giving organizations full control over their data, customization, and server environment.

Server Requirements and System Health

To keep your team communications lightning-fast, smooth, and reliable, your server infrastructure needs to meet certain hardware standards. Rocket.Chat handles complex database tasks and active, real-time user connections, so having the right amount of "breathing room" prevents system slowdowns.

Make sure your hosting provider meets or exceeds these baseline specs:

Resource Minimum Requirement What It Handles
CPU 2 vCPUs Handles live chat traffic, message processing, and simultaneous user requests.
RAM 6 GB Powers the core Rocket.Chat application and keeps your MongoDB database running smoothly in memory.
Disk Space 20 GB Stores the system software, database logs, and shared files or media your team uploads.

 

 

Install Rocket.Chat Using Bluehost Portal

To install Rocket.Chat

  1. Log in to your Bluehost Portal.
  2. Click Hosting in the left-hand menu.

    Bluehost Portal - Hosting Tab
     

  1. Click the Manage button on the Self-Managed VPS package.

    BH AM - Manage n8n

  2. Click the Reimage button.

    Reimage Button

  3. Select the Applications tab.

    Applications Tab

  4. From the list, find Rocket.Chat and click Select.

    Select Rocket.Chat

  5. To confirm, please type "reimage" and then click Proceed to start the process.

    Confirm Reimage

  6. Wait a few moments while the installation completes.

    Reimaging In Progress

  7. Once completed, you will see Rocket.Chat is listed in the Server Image section.

    Completed Reimage
     

Getting Started with Your New Rocket.Chat Server

  1. Log in to your Bluehost Portal.
  2. In the left-hand menu, click the Hosting tab.

    Self Managed VPS
     

  3. Look for the server you want to manage then click the View Details to see more options.

    Self Managed VPS
     

  4. Click the Reset Password.

    Self Managed VPS
     

  5. In the pop-up window, type your new root password, then click Reset Password again to confirm and save the changes.

    Self Managed VPS
     

  1. Connect to your VPS via SSH.
    Open your computer's terminal (or an SSH client like PuTTY) and run the following command to log into your server as the administrator, using your server's public IP address:
    ssh root@your_server_ip
    Follow the prompts and enter the new root password you created in the step above.
  2. Now that you are connected to the server, run the following command to view your pre-configured site URL:
    cat /root/.app_passwords

    Example result:

    root@server-123456:~# cat /root/.app_passwords
    SITE_URL=https://12.3.4.567
  3. Copy the site URL displayed on your screen and paste it into your preferred web browser. This will automatically route you to the Rocket.Chat landing page to begin your configuration.

Activating Your New Workspace

  1. Create Your Admin Account
    First, create your primary administrator profile. Enter your name, choose a username, and pick a strong password. This account will have full master control over your entire chat platform.

    Rocket.chat Admin Info
     

  2. Enter Your Organization Details
    Tell the system a little bit about your team. You will be asked to select your organization type, your company name, and your expected team size so Rocket.Chat can properly optimize your environment.

    Rocket.chat Organization Info
     

  3. Register Your Workspace
    To unlock important features like push notifications for mobile devices and the app marketplace, you will be prompted to register your server. Simply input your preferred Admin Email Address to link this server to the Rocket.Chat network.

    Register your Workspace
     

  4. Confirm and Verify Your Registration
    Check your inbox! Rocket.Chat will automatically send a security confirmation email to the address you just provided.

    Email Verification
     

    1. Open the email and click the Verify Registration button.

      Rocket.chat Email Verify Button
       

    2. A new browser tab will open, confirming your account is verified.

      Rocket.chat Email Confirmed
       

    3. You will also receive a second email confirming that you have been successfully placed on the Rocket.Chat Starter Plan.

      Rocket.chat Second Email Confirmation
       

  5. Access Your Dashboard
    Switch back to your original setup wizard page. You will be securely logged right into your brand-new Rocket.Chat administration dashboard!

    Rocket.chat Dashboard
     

Additional Information & Example Documentation Output

You can run cat /root/README.md to see more information and useful commands:

Example Output:

root@server-123456:~# cat /root/README.md
# Rocket.Chat

## Description

Rocket.Chat is an open-source team messaging platform that lets you create secure, real-time communication channels for your organization or community.
It supports channels, direct messages, video calls, file sharing, and integrations with third-party apps, giving teams a fully self-hosted way to stay connected and collaborate efficiently.

---

## Image contents

This image installs and configures:
- Rocket.Chat 8.3.2 running via Docker
- MongoDB 8.0 running via Docker with replica set rs01
- Docker and Docker Compose for container management
- Nginx as a reverse proxy with HTTP and HTTPS support
- UFW firewall with ports 22, 80, and 443 open
- Log rotation at /etc/logrotate.d/rocketchat
- This README at /root/README.md

---

## Services

| Service     | Ports   | Purpose                                        |
|-------------|---------|------------------------------------------------|
| Rocket.Chat | 3000    | Rocket.Chat application (internal only)        |
| Nginx       | 80, 443 | TLS termination and reverse proxy to port 3000 |
| MongoDB     | 27017   | Database backend (container only)              |
| OpenSSH     | 22      | Remote access                                  |

Ports are protected using UFW. MongoDB port 27017 is not exposed externally.

---

## How-to-use

### 1. Access Rocket.Chat

Once the server has booted, open your browser and navigate to:

```
https://
```

Accept the self-signed certificate warning on first access, then complete
the setup wizard to create your admin account.

### 2. Get your credentials

The site URL is stored in /root/.app_passwords:

```bash
cat /root/.app_passwords
```

### 3. SSL / HTTPS certificate behavior

On first boot, a TLS certificate is automatically provisioned:

- A Let's Encrypt certificate is requested for the server's public IP.
- If Let's Encrypt is unavailable, a self-signed certificate valid for
  365 days is generated automatically as a fallback.

Nginx terminates TLS on port 443 and proxies traffic to Rocket.Chat on
port 3000. The X-Forwarded-Proto: https header signals HTTPS to Rocket.Chat.

To manually request a Let's Encrypt certificate after deployment:

```bash
/opt/certbot/bin/certbot certonly --webroot --webroot-path /var/www/html \
  -m [email protected] --agree-tos --non-interactive --ip-address 

nginx -t && systemctl reload nginx
```

### 4. Useful commands

```bash
docker ps                              # Check container status
docker logs rocketchat --tail 50       # Recent Rocket.Chat logs
docker logs mongo --tail 20            # Recent MongoDB logs
docker compose -f /opt/rocketchat/docker-compose.yml restart   # Restart all
systemctl status nginx                 # Nginx status
systemctl status ssh                   # SSH status
```

### 5. MongoDB

```bash
docker exec mongo mongosh                             # Open MongoDB shell
docker exec mongo mongosh --eval "rs.status()"        # Check replica set health
```

---

## Minimum Resources

| Resource | Minimum |
|----------|---------|
| CPU      | 2 vCPUs |
| RAM      | 6 GB    |
| Disk     | 20 GB   |

---

## Security hardening

| Hardening    | Detail                                             |
|--------------|----------------------------------------------------|
| UFW firewall | Only ports 22, 80, 443 open. Default deny incoming |
| SSH          | Port 22 rate limited - brute force protection      |
| MongoDB      | Not exposed externally - container only            |
| Credentials  | Stored in /root/.app_passwords (mode 0600)         |

---

## Configuration files reference

| File                                           | Purpose                         |
|------------------------------------------------|---------------------------------|
| /opt/rocketchat/docker-compose.yml             | Docker Compose configuration    |
| /etc/systemd/system/rocketchat.service         | Rocket.Chat systemd service     |
| /etc/nginx/sites-available/rocketchat          | Nginx site config               |
| /var/lib/cloud/scripts/per-instance/001_onboot | First-boot configuration script |
| /root/.app_passwords                           | Site URL (generated at boot)    |
| /etc/logrotate.d/rocketchat                    | Log rotation config             |

---

## Links

- Manage: [https://{server_ip}](https://{server_ip})
- Documentation: [https://docs.rocket.chat](https://docs.rocket.chat)
- Ubuntu deployment guide: [https://docs.rocket.chat/docs/deploy-with-ubuntu](https://docs.rocket.chat/docs/deploy-with-ubuntu)
- Rocket.Chat releases: [https://github.com/RocketChat/Rocket.Chat/releases](https://github.com/RocketChat/Rocket.Chat/releases)

Summary

This guide explains how to install and access Rocket.Chat, an open-source team communication platform, on a Bluehost Self-Managed VPS using the Bluehost Portal. Once installed, users can manage messaging, calls, and collaboration features through the Rocket.Chat dashboard hosted on their VPS.

Loading...