Video coming soon…

🚀 Setup Rocket.Chat — Self-Hosted Team Messaging

Deploy Rocket.Chat on Ubuntu with Docker — the open-source Slack alternative with channels, threads, direct messages, video calls, file sharing, and 200+ integrations, all on your own private server.

⚠️ This script is provided for demo and testing purposes only. Not intended for production use.

📦 Resources & Setup Scripts

Grab the automated bash script from GitHub to follow along with the video.

Automated install script — Rocket.Chat running in one command.
View on GitHub

Quick Install:

wget https://raw.githubusercontent.com/mhmdali94/Docker/main/communication/rocketchat/rocketchat-ubuntu.sh
chmod +x rocketchat-ubuntu.sh
sudo bash rocketchat-ubuntu.sh

Tutorial Steps

1 Download & Run the Script

The script installs Docker and starts Rocket.Chat with a MongoDB database. Rocket.Chat will be available on port 3000. First startup takes 1-2 minutes as the application initializes the database.

wget https://raw.githubusercontent.com/mhmdali94/Docker/main/communication/rocketchat/rocketchat-ubuntu.sh
chmod +x rocketchat-ubuntu.sh
sudo bash rocketchat-ubuntu.sh

2 Access the Web UI & Complete Setup

Open your browser and navigate to Rocket.Chat. Complete the setup wizard — create your admin account, set your organization name, and configure basic settings. This is a one-time setup process:

http://<your-server-ip>:3000

3 Create Channels & Invite Users

Click the "+" next to Channels to create your first team channels (e.g. #general, #devops, #announcements). Go to Administration → Users → New User to create accounts for team members, or enable email registration to let users sign up themselves. Set up LDAP in Administration → LDAP if you want to sync users from Active Directory.

4 Configure Integrations & Notifications

Go to Administration → Integrations to set up incoming webhooks from GitHub, GitLab, Grafana, or any other tool. Configure SMTP in Administration → Email to enable email notifications and password reset. Install the Rocket.Chat mobile app and connect it to your server URL to receive push notifications on your phone.

Ports Used

PortPurpose
3000Rocket.Chat Web UI
27017MongoDB database (internal)

Overview

Rocket.Chat is a fully open-source, self-hosted team messaging platform — the most capable Slack alternative available. It provides channels (public and private), direct messages, threads, voice and video calls, file sharing, message search, and an integrated livechat/omnichannel system for customer support. Rocket.Chat supports 200+ integrations via webhooks, bots, and REST/real-time APIs. Unlike Slack, there are no per-user fees, no message history limits, and all data stays on your server. It's trusted by NASA, the US Department of Defense, and major enterprises for internal and external communications.

Why Use It

Rocket.Chat gives you complete control over your team's communication data. Slack's free tier limits message history to 90 days and charges per user — for a 50-person team, that's thousands of dollars annually. Rocket.Chat stores unlimited message history, runs on your hardware, and costs only the server bill. It also enables features Slack doesn't offer: omnichannel customer chat, self-hosted push notifications, and tight integration with self-hosted tools like Gitea, Jitsi, and Grafana.

When You Need It

    Who Should Use It

      Real Use Cases

        Main Features

          How to Use After Installation

            Security Best Practices

              Ports and Firewall Notes

              Open port 3000 (TCP) for the Rocket.Chat web interface. In production, put Rocket.Chat behind a reverse proxy on port 443 with HTTPS and close port 3000 to public access. Port 27017 (MongoDB) must never be exposed — it's internal to the Docker network. If using Jitsi for video calls, also open Jitsi's ports (10000 UDP, 4443 TCP).

              Backup and Maintenance

                Common Mistakes

                  Troubleshooting

                    Alternatives

                    Mattermost is the closest open-source alternative with better Kubernetes support and a stronger enterprise focus. Matrix/Element (via Synapse server) provides federated, decentralized messaging. Zulip has a unique topic-based threading model. Discord is a popular hosted option for communities. Slack remains the dominant commercial platform. Rocket.Chat leads in omnichannel customer support features among self-hosted options.

                    When Not to Use It

                    Avoid Rocket.Chat for very small teams (under 5 people) where a simpler tool (Signal, WhatsApp, ntfy) is sufficient. The MongoDB requirement adds operational complexity — budget RAM and CPU accordingly. For large-scale deployments (1000+ users), consider Rocket.Chat Enterprise or evaluate Mattermost which has better horizontal scaling documentation.

                    PrismaTechWork Professional Help

                    PrismaTechWork provides end-to-end infrastructure services — from initial deployment and security hardening to ongoing monitoring, automated backups, and dedicated support. Whether you need a single-server setup or a multi-site network, our team ensures your infrastructure is built right, secured properly, and maintained reliably.

                      Contact Us

                      Frequently Asked Questions

                      What is Rocket.Chat and how does it compare to Slack?

                      Rocket.Chat is a free, open-source team messaging platform — a self-hosted alternative to Slack. It provides channels, direct messages, threads, voice/video calls, file sharing, and message search. Unlike Slack, Rocket.Chat stores all your data on your own server with no per-user fees and no message history limits. It supports 200+ integrations and has desktop, mobile, and web clients.

                      Does Rocket.Chat support video and voice calls?

                      Yes. Rocket.Chat has built-in video and voice calling via WebRTC for one-on-one calls. For group video conferencing, it integrates with Jitsi Meet (which can be self-hosted) or BigBlueButton. Enterprise users can also integrate with Microsoft Teams or Zoom. The Jitsi integration is most popular for teams who want fully self-hosted video conferencing alongside Rocket.Chat.

                      Does Rocket.Chat have mobile apps?

                      Yes. Rocket.Chat has native apps for iOS and Android available on the App Store and Google Play. The mobile apps support push notifications, offline message caching, and all core features including channels, DMs, file sharing, and search. Connect the apps to your self-hosted server by entering your server URL in the app settings.

                      Can Rocket.Chat integrate with other tools?

                      Yes. Rocket.Chat supports 200+ integrations including GitHub, GitLab, JIRA, Confluence, Jenkins, Grafana, Prometheus, and more via webhooks and Zapier. It also has a REST API and real-time API (via WebSocket) for custom integrations. Bots can be built using the Rocket.Chat SDK in Node.js, Python, or Go.

                      Is Rocket.Chat suitable for large organizations?

                      Yes. Rocket.Chat is used by organizations with thousands of users including NASA, the US Navy, and Deutsche Telekom. It supports LDAP and SAML SSO for enterprise authentication, role-based access control, audit logs, compliance export, and end-to-end encryption for DMs. For very large deployments, a clustered MongoDB and multiple Rocket.Chat instances behind a load balancer are recommended.

                      What database does Rocket.Chat use?

                      Rocket.Chat uses MongoDB as its database. The Docker setup includes a MongoDB container for storing all messages, channels, users, and settings. MongoDB is a NoSQL document database that handles Rocket.Chat's flexible message and channel data model efficiently. For production, use a replica set MongoDB deployment for high availability.

                      Can I migrate from Slack to Rocket.Chat?

                      Yes. Rocket.Chat supports importing Slack data exports including channels, users, and message history. Go to Administration → Import → Slack to upload your Slack export ZIP file. The importer maps Slack channels and DMs to Rocket.Chat equivalents. User accounts are created and mapped by email address. This allows teams to switch from Slack without losing their message history.

                      How do I set up push notifications for the mobile app?

                      Rocket.Chat Community Edition uses the Rocket.Chat Cloud Push Gateway for mobile notifications (free up to 10,000 notifications/month). Register your server at cloud.rocket.chat to get a push gateway token. For unlimited self-hosted notifications, you can deploy your own notification gateway using the open-source Rocket.Chat Push Server, though this requires additional setup.