...

πŸš€ how to install and run rocket. Chat on debian vpsThis article describes how to install and run Rocket.Chat on Debian VPS.

What is Rocket.Chat?

Rocket.Chat is an open-source communication platform designed for team collaboration and messaging, similar to Slack or Microsoft Teams. It offers a flexible, self-hosted alternative for businesses, communities, and developers who want full control over their data and communication infrastructure.

Key Features:

  • Real-time chat (channels, private groups, direct messages)
  • Voice and video conferencing (via Jitsi or native integrations)
  • File sharing and screen sharing
  • End-to-end encryption
  • Extensive customization through themes, roles, and permissions
  • Powerful integrations (GitHub, GitLab, Zapier, Jira, etc.)
  • Mobile and desktop apps
  • Federation support (communicate across different Rocket.Chat servers)

Use Cases:

  • Team collaboration (remote or on-premise)
  • Customer support chat (via website widget)
  • Community engagement (for open-source or educational platforms)
  • Secure internal messaging (for enterprises and regulated industries)

Hosting Options:

  • Self-hosted (on your own VPS server)
  • Cloud-hosted (Rocket.Chat offers managed hosting)

It’s ideal for organizations seeking a secure, open-source, and customizable communication solution that doesn’t rely on third-party SaaS providers.

βœ… Prerequisites

Ensure you have:

  • AΒ Debian 12 VPS (1GB+ RAM minimum; 2GB+ recommended)
  • Root access or sudo privileges
  • A domain/subdomain (optional but recommended)
  • A static IP address

Compare Debian VPS Plans

KVM-SSD-1
KVM-SSD-8
KVM-SSD-16
KVM-SSD-32
CPU
1 Core
2 Cores
4 Cores
8 Cores
Memory
1 GB
8 GB
16 GB
32 GB
Storage
16 GB NVMe
128 GB NVMe
256 GB NVMe
512 GB NVMe
Bandwidth
1 TB
4 TB
8 TB
16 TB
Network
1 Gbps
1 Gbps
1 Gbps
1 Gbps
Delivery Time
⏱️ Instant
⏱️ Instant
⏱️ Instant
⏱️ Instant
Location
US/FR
US/FR
US/FR
US/FR
Price
$7.58*
$39.50*
$79.40*
$151.22*
KVM-SSD-1
CPU: 1 Core
Memory: 2 GB
Storage: 16 GB NVMe
1 TB
KVM-SSD-8
CPU: 2 Cores
Memory: 8 GB
Storage: 128 GB NVMe
4 TB
KVM-SSD-16
CPU: 4 Cores
Memory: 16 GB
Storage: 256 GB NVMe
8 TB
KVM-SSD-32
CPU: 8 Cores
Memory: 32 GB
Storage: 512 GB NVMe
16 TB

πŸš€ How to Install and Run Rocket.Chat on Debian VPS

To install and Run Rocket.Chat on Debian VPS, follow the steps below:

  1. Update System Packages

    sudo apt-get update && sudo apt-get upgrade -y
    
  2. Install Required Dependencies

    sudo apt-get install gnupg curl build-essential graphicsmagick -y
  3. Install Node.js

    Rocket.Chat supports Node.js v22. We’ll use NodeSource:

    curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
    sudo apt-get install -y nodejs
    

    Verify installation:

    node -v
    npm -v
    
  4. Install Deno

    Custom Deno install script automates supported version installation:

    curl -fsSL https://gist.githubusercontent.com/radwebhosting/d3b211bd2e2ac6e5f22b6b259e7d4a64/raw/2eb39985ba0b477aad633ef8bbe322d06ee8efa0/install-deno.sh | sh
  5. Install MongoDB

    1. To import the MongoDB public GPG key, run the following command:
      curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \
         sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg \
         --dearmor
    2. Create the list file for Debian 12 (Bookworm):
      echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] http://repo.mongodb.org/apt/debian bookworm/mongodb-org/7.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
    3. Reload local package database:
      sudo apt-get update
    4. Install the preferred MongoDB version:
      sudo apt-get install -y \
         mongodb-org=7.0.22 \
         mongodb-org-database=7.0.22 \
         mongodb-org-server=7.0.22 \
         mongodb-mongosh \
         mongodb-org-shell=7.0.22 \
         mongodb-org-mongos=7.0.22 \
         mongodb-org-tools=7.0.22 \
         mongodb-org-database-tools-extra=7.0.22
    5. To prevent unintended breaking updates, it is recommended to pin the package at the currently installed version:
      echo "mongodb-org hold" | sudo dpkg --set-selections
      echo "mongodb-org-database hold" | sudo dpkg --set-selections
      echo "mongodb-org-server hold" | sudo dpkg --set-selections
      echo "mongodb-mongosh hold" | sudo dpkg --set-selections
      echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
      echo "mongodb-org-cryptd hold" | sudo dpkg --set-selections
      echo "mongodb-org-tools hold" | sudo dpkg --set-selections
      echo "mongodb-org-database-tools-extra hold" | sudo dpkg --set-selections
    6. Configure MongoDB to enable replication and specify the replication set as rs01, so that /etc/mongod.conf resembles the following:
      # mongod.conf
      
      # Where and how to store data.
      storage:
        dbPath: /var/lib/mongodb
      
      # where to write logging data.
      systemLog:
        destination: file
        logAppend: true
        path: /var/log/mongodb/mongod.log
      
      # network interfaces
      net:
        port: 27017
        bindIp: 127.0.0.1 # Replace with your IP address
      
      
      # how the process runs
      processManagement:
        timeZoneInfo: /usr/share/zoneinfo
      
      # Replication settings
      replication:
        replSetName: rs01
    7. Enable and start MongoDB:
      sudo systemctl enable --now mongod  
      sudo systemctl restart mongod
    8. Next, initialize the replica set:
      mongosh --eval "printjson(rs.initiate())"
    9. Verify status:
      sudo systemctl status mongod
      
  6. Download and Extract Rocket.Chat

    For stability and compatibility, it is recommended to install a specific version (view Release Document for available versions):

    sudo curl -L https://releases.rocket.chat/7.9.0/download -o /tmp/rocket.chat.tgz
    tar -xzf /tmp/rocket.chat.tgz -C /tmp
    cd /tmp/bundle/programs/server && npm install
    sudo mv /tmp/bundle /opt/Rocket.Chat
  7. Create Rocket.Chat User

    sudo useradd -M rocketchat && sudo usermod -L rocketchat
    sudo chown -R rocketchat:rocketchat /opt/Rocket.Chat

    Depending on how you install NodeJS, the binary path may be different. Save the path to a variable:

    NODE_PATH=$(which node)
  8. Configure Environment Variables

    Create a systemd service file:

    cat << EOF |sudo tee -a /lib/systemd/system/rocketchat.service
    [Unit]
    Description=The Rocket.Chat server
    After=network.target remote-fs.target nss-lookup.target nginx.service mongod.service
    [Service]
    ExecStart=$NODE_PATH /opt/Rocket.Chat/main.js
    StandardOutput=journal
    StandardError=journal
    SyslogIdentifier=rocketchat
    User=rocketchat
    [Install]
    WantedBy=multi-user.target
    EOF

    Update the Rocket.Chat file by running:

    sudo systemctl edit rocketchat

    Update the file with the information below and save it:

    [Service]
    Environment=ROOT_URL=http://localhost:3000
    Environment=PORT=3000
    Environment=MONGO_URL=mongodb://localhost:27017/rocketchat?replicaSet=rs01
    Environment=MONGO_OPLOG_URL=mongodb://localhost:27017/local?replicaSet=rs01 # The `MONGO_OPLOG_URL` variable is not required. It has been deprecated and will be removed in the version 8.0.0
  9. Enable and Start Rocket.Chat

    Start Rocket.Chat:

    sudo systemctl enable --now rocketchat

    Check status:

    sudo systemctl status rocketchat

    If the Rocket.Chat configuration is edited, reload the daemon and restart Rocket.Chat using the following commands:

    sudo systemctl daemon-reload
    sudo systemctl restart rocketchat
  10. Install Nginx

    Install Nginx:

    sudo apt-get update
    sudo apt-get install nginx -y
    
  11. Reverse Proxy with Nginx

    Create the config file:

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

    Paste the following (replace your-domain.com):

    server {
        listen 80;
        server_name your-domain.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-Forward-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forward-Proto http;
            proxy_set_header X-Nginx-Proxy true;
            proxy_redirect off;
        }
    }
    

    Enable the config:

    sudo ln -s /etc/nginx/sites-available/rocketchat /etc/nginx/sites-enabled/rocketchat
    sudo nginx -t
    sudo systemctl restart nginx
    
  12. Add SSL

    Install Certbot and Nginx plugin:

    sudo apt-get update
    sudo apt-get install certbot python3-certbot-nginx -y

    Install a free Let’s Encrypt SSL certificate:

    sudo certbot --nginx -d your-domain.com
    

    Certbot will automatically adjust your Nginx config and reload Nginx.

  13. Access Rocket.Chat

    Go to:
    πŸ“± https://your-domain.com
    or
    πŸ–₯️ http://your-server-ip:3000 (if domain not configured)

    Rocket. Chat setup wizard
    Rocket. Chat setup wizard

    Complete the web setup wizard.

  14. Optional: Enable Auto-start on Boot

    Make sure Rocket.Chat and MongoDB auto-start:

    sudo systemctl enable rocketchat
    sudo systemctl enable mongod
    

πŸ”§ Troubleshooting Tips

  • Rocket.Chat not starting? Run:
    journalctl -u rocketchat -f to view logs.
  • MongoDB connection error? Ensure MongoDB is running and accessible.
  • Web UI issues? Make sure you set correct ROOT_URL.

πŸ“Œ Summary

Component Installed Location
Rocket.Chat /opt/Rocket.Chat/
Node.js /usr/bin/node
MongoDB Localhost port 27017
Nginx Config /etc/nginx/sites-available/rocketchat

Β 

Launch 100% ssd debian vps from $2. 49/mo!

Conclusion

You now know how to install and run Rocket.Chat on Debian VPS.

Next step πŸ‘‰Β  Integrate Rocket.Chat with BigBlueButton Server

Avatar of editorial staff

Editorial Staff

Rad Web Hosting is a leading provider of web hosting, Cloud VPS, and Dedicated Servers in Dallas, TX.

One thought on β€œπŸš€ How to Install and Run Rocket.Chat on Debian VPS”

Comments are closed.

lg