Purchase a Self-Managed VPS with Rocket.Chat Installation
Rocket.Chat is an open source communication platform to connect your team with real-time messaging, voice calls, video meetings, and file sharing. It is a great solution for businesses, remote teams, and organizations that want to have more control over their communication system, while keeping the conversations safe and organized. With this option, you can get full control of your server environment. This means you can tailor settings, enhance security, manage resources, and scale your workspace to suit your team’s needs.
Why Use Rocket.Chat?
Good communication plays a big role in keeping teams productive and organized. Rocket.Chat provides a centralized workspace where teams can collaborate, share updates, and communicate in real time.
One of the biggest advantages of Rocket.Chat has flexibility. It is self-hosted, so you control your data, security settings, user access, and integrations. By hosting on a Self-Managed VPS, you can also customize your server environment for optimized performance according to your needs.
Uses of Rocket.Chat
Rocket.Chat can support different types of communication and collaboration needs, including:
- Team Collaboration – Create channels for departments, projects, or team discussions.
- Customer Support – Manage customer conversations and live chat support from one platform.
- Remote Team Communication – Keep remote employees connected through messaging, calls, and file sharing.
- Private Messaging Platform – Maintain better control over company data and internal communication.
- Community Management – Build private or public communities with organized discussion channels.
- File Sharing – Share documents, images, and project resources securely with your team.
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. |
How to Purchase a Self-Managed VPS with Rocket.Chat Installation
To set up and operate Rocket.Chat effectively, start by getting a Self-Managed VPS Hosting plan from Bluehost, then proceed with the following steps:
New to VPS or not sure where to start? No worries! At the top of the Self-Managed VPS purchase page, you’ll see the Pre-configured Setup section. This handy feature is perfect if you’re feeling a bit unsure—just pick the type of project you want, like WordPress Site, AI Agent/Claude Code, Dev/Staging, or eCommerce Store. We’ll take care of the rest by automatically filling in the best plan, operating system, and template for you.
- Super simple for beginners or anyone who just wants a quick setup
- Instantly get the recommended settings for your project
- Skip the guesswork and save time
- You can still customize things later if you want
- In your browser, go to https://www.bluehost.com/vps-hosting.
- Click the Choose Plan button under your preferred VPS hosting plan.

Important: Pricing is subject to change—please visit https://www.bluehost.com/vps-hosting for the current introductory/sign-up offer for Bluehost VPS Hosting. For the most up-to-date renewal pricing, visit your Bluehost Portal Renewal Center.
- Select your preferred Data Center location.

- On the Cart page, you can configure your server to fit your needs in the following section:
- Hardware:
- Pre-selected:
You can select a different Self-Managed VPS plan in this section.

- Configure:
Click Configure to customize your package.
Note that your changes help customize your plan, and the overall cost will adjust accordingly to fit your needs.

- Pre-selected:
- Software:
- Click the Application tab.
- Select Rocket.Chat.

- In the pop-up, click Confirm.

- Hardware:
- Add-Ons: You can add Premium Support here, which gives you priority access to expert assistance and faster response times.

- In the Advanced options:
- Extra IP's: You can add extra IP addresses for an additional fee.
Pricing changes based on how many IPs you add. - Hostname: Assign a custom hostname to easily identify your server. This is optional.

- Extra IP's: You can add extra IP addresses for an additional fee.
- Next, select your preferred billing term and review your Order Summary, then click Continue to Checkout.

- Do the following on the Checkout page:
If you're new with Bluehost:
- Create your Bluehost account by using your email address or by connecting with your Google, Apple, or GitHub account — whichever you prefer!

- Select your preferred payment method: credit card, Google Pay, or PayPal. Enter your billing information.

If you have an account with us, you will see your Bluehost login details when you are logged into your Bluehost Portal. If you are not logged in, please click the Log In link.

- Create your Bluehost account by using your email address or by connecting with your Google, Apple, or GitHub account — whichever you prefer!
- In the Shopping Cart section, you can still adjust your billing term if needed.

- Review the items in your cart, add a Promo Code if you have one, and then click Submit Payment to complete the purchase.

After checkout, your Self-Managed VPS will begin setting up. Once it’s ready, you can find it under the Hosting tab in your Bluehost Portal.
Getting Started with Your New Rocket.Chat Server
- Rocket.Chat (Version 8.3.2): This is the actual application, workspace, and chat interface you see in your browser. It runs inside an isolated environment called a Docker container.
- MongoDB (Version 8.0): This is the database backend. It lives in its own secure container and stores all your messages, user profiles, channels, and system settings.
- Nginx: This acts as a security guard and traffic controller (a reverse proxy). Instead of exposing the chat app directly to the wild internet, Nginx sits at the front door (ports 80 and 443), handles the secure HTTPS encryption, and passes the traffic safely to Rocket.Chat internally.
- UFW (Firewall): It locks down the server so unauthorized users can't try to access your database or backend services directly. Only web traffic and your secure terminal access (SSH) are allowed in.
- Log in to your Bluehost Portal.
- In the left-hand menu, click the Hosting tab.

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

- Click the Reset Password.

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

- 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:
Follow the prompts and enter the new root password you created in the step above.ssh root@your_server_ip - Now that you are connected to the server, run the following command to view your pre-configured site URL:
cat /root/.app_passwordsExample result:
root@server-123456:~# cat /root/.app_passwords SITE_URL=https://12.3.4.567 - 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
- 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.
- 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.
- 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.
- Confirm and Verify Your Registration
Check your inbox! Rocket.Chat will automatically send a security confirmation email to the address you just provided.
- Open the email and click the Verify Registration button.

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

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

- Open the email and click the Verify Registration button.
- 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!
Additional Information and 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
Rocket.Chat is a flexible communication platform that allows teams to work together through messaging, calls, file sharing, and organized channels. Rocket.Chat on a Self-Managed VPS from Bluehost gives you the freedom to customize your server environment, manage your security settings, and scale your workspace as your team grows. This setup is ideal for businesses and organizations looking for a secure and reliable self-hosted communication solution.