😁
User Guide
6.5
6.5
  • Rocket.Chat
  • Deploy
    • Deploy Rocket.Chat
      • System Requirements
      • Deploy with Docker & Docker Compose
      • Deploy with AWS
      • Deploy with Snaps
      • Updating Rocket.Chat
      • Scaling Rocket.Chat
        • Microservices
        • Running Multiple Instances
        • Automation Tools
          • Ansible
          • OpenShift
          • Vagrant
      • Additional Deployment Methods
        • Deploy with Kubernetes
        • Deploy with Digital Ocean
        • Deploy on Google Compute Engine
        • Deploy with Ubuntu
        • Deploy with CentOS
        • Deploy on Kali
        • Deploy on Debian
        • Deploy on IBM Cloud
        • Deploy on Windows 10
        • Plug-in Deployments
        • Unsupported Methods
          • OpenSUSE Leap 42.2
          • FreeBSD
            • Deploying Rocket.Chat Server Binaries on a FreeBSD system
          • Windows Server
          • Linode
          • Scalingo
          • Cloudron.io
          • Jelastic
          • Aliyun
          • Galaxy
          • Syncloud
          • OpenShift
  • Setup and Configure
    • Rocket.Chat Environment Configuration
      • NodeJs Configuration
      • MongoDB Configuration
        • MongoDB URI Authentication
        • MongoDB Backup and Restore
        • Passing extra options to the Mongo driver
        • Configure a replica set for MongoDB
        • Migrating database from Meteor built in MongoDB
        • MongoDB mmap to wiredTiger migration
        • Supported Mongo Versions
      • Firewall Configuration
      • Additional Configurations
        • Running in a sub folder with Apache
        • Univention Corporate Server (UCS)
        • Setting Up Client SSL Certificate Authentication for Rocket.Chat
        • Setting up Process Managers and Init Systems
      • Configuring SSL Reverse Proxy
      • Environment Variables
    • Installing Client Apps
      • Desktop & Mobile Apps
      • Minimum Requirements for Client Apps
    • Enterprise License Application
    • Accessing Your Workspace
      • Rocket.Chat Setup Wizard
      • Admin Account Creation
      • Basic White-labeling
      • Inviting Users
    • Advanced workspace management
      • Authentication
        • OpenID Connect
          • Gluu Server 4.0
          • Keycloak
          • Okta Identity Cloud Service
        • iframe based Single Sign On
      • Google Translate Integration
      • Managing Settings Using Environmental Variables
      • Identity Management (EE vs CE)
      • Database Migration
      • Restoring an Admin User
      • CDN
      • Troubleshooting
      • Client Compatibility Matrix
    • Enterprise Edition Trial
    • Rocket.Chat Air-gapped Deployment
      • Offline Workspace Registration
      • Offline License
      • Air-gapped workspace Configuration
      • Air-gapped App Installation
    • Roles in Rocket.Chat
  • Use Rocket.Chat
    • User Guides
      • Access your workspace
      • Main Menu
      • User Panel
        • My Account
          • Manage Devices
      • Rooms
        • Channels
          • Create a new Channel
          • Edit A Channel
          • Manage Channel Members
          • Search Messages in a Channel
        • Teams
          • Create a new Team
          • Edit a Team
          • Manage Team Members
          • Manage Team Channels
          • Teams Enterprise Edition
        • Discussions
          • Create a new Discussion
          • Edit A Discussion
          • Search Messages in Discussion
          • Manage Discussion Members
        • Direct Messages
          • Create a new Direct Message
          • Direct Message Actions
        • Threads
          • Create a New Thread
        • Room Roles
      • Messages
        • Message Actions
        • Off-the-record (OTR) Messaging User Guide
      • Notifications
      • Security Bundle
        • Data Loss Prevention User Guide
        • Antivirus ClamAV App
        • End to End Encryption User Guide
        • Two Factor Authentication User Guide
      • Keyboard Shortcuts
    • Workspace Administration
      • Go Fully Featured
      • Workspace
      • Registration
      • Engagement
      • Moderation
      • Federation
      • Rooms
      • Users
        • Guest users
        • Add users through Identity management and authentication services
      • Invites
      • User Status
      • Permissions
        • Setting's Permission
      • Device Management
      • Email Inboxes
      • Mailer
      • Third-party Login
      • Integrations
        • AppVeyor
        • Azure Alerts
        • BitRocket
        • Dead Simple Screen Sharing
        • EasyRedmine
        • Giphy Integrations
        • GitLab
        • Google Calendar
        • GitHub
        • Graylog
        • Jenkins notifications via Rocket.Chat Marketplace
        • JFrog Xray
        • MicroBadger
        • Microsoft Teams
        • NewRelic
        • Nextcloud and WebDAV integrations
        • Nextcloud Rocket.Chat App
        • Nixstats notification
        • PagerDuty
        • Prometheus
        • Grafana
        • Review Board
        • RunDeck Job Notifications
        • Sentry
        • Simple Telegram Bot
        • TravisCI
        • Uptime Robot
        • Zapier
        • django-rocketchat-auth 1.2
        • Add Jira notifications via webhook
      • Import
        • Import from HipChat
        • Import from Slack
          • SlackBridge
        • Import CSV
      • Logs
      • Sounds
      • Emoji
      • Settings
        • Accounts
          • Custom Fields
        • Analytics
        • Assets
        • Bots
        • CAS
        • Conference Call
        • Custom Emoji Filesystem
        • Custom Sound Filesystem
        • Device management settings
        • Discussion
        • E2E Encryption
        • Email
          • Edit your Email Content
          • Direct email reply
          • Email configuration
        • Enterprise
        • Federation
          • Matrix Bridge
            • Matrix Admin Guide
              • Matrix Homeserver Setup
                • Matrix Allow/Block List
              • Matrix Bridge Configuration
            • Matrix User's Guide
              • Create federated rooms
              • Invite external users to your Rocket.Chat server
              • Communicate with a federated user
              • Search and join public channels on the Matrix network
              • Assign roles for users in federated rooms
            • Matrix Bridge FAQs
          • Rocket.Chat Basic Federation
            • Cross-server Federated Channels
        • File Upload
          • Minio
          • Recommendations for File Upload
          • File Upload FAQs
        • General
          • Net Promoter Score (NPS) survey
        • IRC Federation
        • Layout
        • LDAP
          • LDAP Connection Setting
          • LDAP User Search
          • LDAP Data Sync Settings
          • LDAP Enterprise Settings
          • LDAP Examples
        • Logs
        • Message
        • Meta
        • Mobile
        • OAuth
          • Facebook OAuth Setup
          • Google OAuth Setup
          • GitLab OAuth Setup
          • GitHub OAuth Setup
          • GitHub Enterprise OAuth Setup
          • LinkedIn OAuth Setup
          • NextCloud OAuth Setup
          • WordPress OAuth Setup
          • MS Office 365 OAuth Setup
          • Other OAuth Setup
        • Omnichannel Admin's Guide
          • Queue Types (Routing Algorithm)
        • OTR
        • Outlook Calendar
        • Push
        • Rate Limiter
        • Retention Policy
        • SAML
          • Rocket.Chat server settings
          • Simple SAML php
          • Active Directory Federation Services
          • Oracle Identity Cloud Service
          • Keycloak
        • Search
        • Setup Wizard
        • SlackBridge
        • Smarsh
        • SMS
        • Threads
        • Troubleshoot
        • User Data Download
        • Voice Channel
        • Webdav Integration
        • WebRTC
    • Omnichannel
      • Current Chats
      • Reports
      • Analytics
      • Real-time Monitoring
      • Managers
      • Agents
      • Departments
      • Custom Fields
      • Livechat Triggers
      • Livechat Widget Installation
      • Livechat Widget Appearance
      • Webhooks
      • Business Hours
      • Monitors
      • Units
      • Canned Responses
        • Canned Responses Omnichannel Manager's Guide
      • Tags
      • SLA Policies
      • Priorities
    • Message Auditing
      • Review All Message Auditing Panel Search Results
      • Check Historical Edits and Deletions of Messages
      • Assign Message Auditing Permissions to Specific Users
    • Message Auditing Log
    • Rocket.Chat Cloud
      • Create your new cloud account
      • Manage your cloud account
        • Custom domain for your Cloud-hosted workspace
        • Profile
        • Organization Settings
        • Workspaces
        • Invoices
        • Payment Methods
        • Support
        • Security
        • Contact Sales
      • Cloud Account Setup Wizard
    • Rocket.Chat Voice Channel
      • Getting Started with Voice Channel
      • Voice Channel Admin Guide
        • Configure without previously having a PBX server
          • SIP Extensions
          • Configure asterisk manager interface and users
        • Configure with an active PBX server
          • Associate agents with extensions in Rocket.Chat
      • Voice Channel Technical Specification
      • Voice Channel Agent Guides
        • How to make myself available to accept calls?
        • How to take a call in Rocket.Chat voice channel?
        • How to initiate an outbound call as an agent?
      • Voice Channel FAQs
    • Rocket.Chat Conference Call
      • Conference Call Admin Guide
        • Pexip app
        • Jitsi app
        • BigBlueButton (BBB) app
        • Google Meet app
      • Conference Call User's Guide
      • Omnichannel Video/Audio Call Configuration
    • Rocket.Chat Federation
    • Rocket.Chat Mobile
      • Rooms on Rocket.Chat Mobile
      • Messages and Threads on Mobile
      • Push Notifications
        • Secured Push Notification
        • Push Notifications User Guide
    • Omnichannel Agent's Guides
      • Omnichannel Conversation
      • Omnichannel Queue
      • Omnichannel Contact Center
        • Omnichannel Contact Manager Assignment
      • Email Inboxes
  • Extend Rocket.Chat Capabilities
    • Rocket.Chat Marketplace
      • Rocket.Chat Public Apps Guides
        • Omnichannel Apps
          • SMS
          • Telegram App
            • Telegram Agent's Guide
          • Rasa App
          • Salesforce CRM Integration
            • Salesforce CRM Agent's Guide
          • HubSpot CRM
            • HubSpot CRM Agent's Guide
          • Dialogflow App
            • Upload File To Ongoing Dialogflow Chats
          • Twitter App
            • Twitter App Agent's Guide
          • Facebook App
            • Facebook App Agent's Guide
          • WhatsApp
            • WhatsApp Agent's Guide
          • WhatsApp Sandbox
            • WhatsApp Sandbox Agent's Guide
          • Instagram Direct
            • Instagram Direct Agent's Guide
          • WhatsApp Cloud App
            • Configure Whatsapp Cloud App
            • Using WhatsApp Cloud App
        • Atlassian Apps
          • Jira Server v2.0
          • Bamboo Integration
          • Bitbucket Server
          • Confluence Server
          • Jira Server
        • Pexip App
        • Jitsi app
        • BigBlueButton (BBB) app
        • Google Meet app
        • Trello
          • Using the Trello App
        • Zoom
          • Install Zoom App
        • Data Loss Prevention (DLP) App
        • Poll
        • Poll Plus
          • Poll Plus Features
        • Microsoft Teams Bridge
          • Using Microsoft Teams Bridge
        • GitHub App
          • Using GitHub App
        • Google Drive
          • Using the Google Drive App
        • Google Calendar
          • Using the Google Calendar App
        • Zapier App
          • Install Zapier App
          • Using Zapier App
        • ChatGPT App
          • Install ChatGPT App
          • Using ChatGPT App
      • App Storage Location
    • Integrations
    • Rocket.Chat API
  • Resources
    • Frequently Asked Questions
      • Accessing your workspace FAQs
      • My Account FAQs
      • Registration
      • Message Privacy
      • Localization
      • Apps FAQs
      • Update FAQs
      • WhatsApp Cloud API FAQs
      • Cloud FAQs
      • Support FAQs
      • Whatsapp Business App FAQs
      • Identity Management EE FAQ
      • Deployment FAQ
        • Updating Rocket.Chat FAQ
        • Snaps FAQ
      • Omnichannel FAQs
    • Brand and Visual Guidelines
      • Logo
      • Typography
      • Colors
      • Patterns
      • Iconography
      • Photos
      • Brand Usage Examples
      • Media Kit
    • Development Docs
    • Rocket.Chat's Support Structure
      • Enterprise Support and Version Durability
        • Enterprise Support Plans
      • Community Resources
      • Legacy Support
  • Contribute to Rocket.Chat
    • Contributor Code of Conduct
    • How Can I Help?
    • Github Sponsorship
    • Annual Contribution Programs
  • PRIVACY AND SECURITY
    • Privacy and Security Policies
      • Rocket.Chat Privacy Policy
        • Subprocessors
      • Privacy Policy Facebook Messenger
      • Security Policy
    • Security Center
      • Compliance Resources and Certifications
      • Security fixes and updates
        • cve-2022-32211
      • End-to-End Encryption Specifications
    • Privacy Center
      • GDPR
        • Data Processing Agreement
      • LGDP
        • Nomeação do Encarregado pelo Tratamento de Dados Pessoais
  • LEGAL AND COMPLIANCE
    • Rocket.Chat Terms
      • Terms of Service
        • Cloud Deployment Terms/Cloud Terms
      • Master Services Agreement for Self Managed Workspaces
      • Supplemental Terms
        • Master Service Agreement for Professional Services
    • Compliance Center
      • DMCA Policy
      • Law Enforcement
        • Guidelines for Law Enforcement
        • Censorship and Harmful Content
        • Server Lookup
      • Code of Conduct: Services
    • Legal Center
Powered by GitBook
On this page
  • Installation
  • Installation via package manager
  • Installation via PIP
  • Simple Deployment Environment for Rocket.Chat
  • Prerequisites
  • Inventory set-up
  • Download the Rocket.Chat Ansible role
  • Create a Playbook to "play" the Rocket.Chat Ansible Role
  • Deploy Rocket.Chat using Ansible
  1. Deploy
  2. Deploy Rocket.Chat
  3. Scaling Rocket.Chat
  4. Automation Tools

Ansible

Set up an Ansible environment for deploying Rocket.Chat to multiple servers.

PreviousAutomation ToolsNextOpenShift

See the ,

Installation

Ansible works on a "push to clients" basis. Your control node pushes all the configuration/ad-hoc tasks out to your systems via SSH, with no client running on the systems you're deploying to! In order words, it's swift, efficient, secure, scalable, and highly portable. Therefore, to control remote systems, you only need to install Ansible on your control node (your desktop can be an excellent control node to deploy from). Ansible has

To learn more about Ansible installation on different operating systems, see the .

Installation via package manager

Ansible is likely available in your official package repositories if you're using a UNIX-like operating system, such as Linux or BSD. Use your package manager to see if it's available and install it.

Installation via PIP

Ansible is written in Python, so it's only natural that it be available for installation via . . If you have pip installed, run the following command:

sudo pip install ansible

If you do not have pip, check if you can install pip through your system's package manager (look out for Python 2.7 version). If you're on Mac OS X and you're not using or , you should be able to install pip using easy_install with this command:

sudo easy_install pip 
sudo pip install ansible

Simple Deployment Environment for Rocket.Chat

Now that you've installed Ansible, you can deploy Rocket.Chat.

Prerequisites

  • You must have SSH access to the system you want to deploy to, as the root user.

  • The system you're deploying to must have Python installed and run one of the following operating systems:

    • EL 7 (RHEL/CentOS)

    • Debian 8 (Jessie) LTS

    • Ubuntu 18.04 LTS

    • Ubuntu 19.04

Inventory set-up

Create a directory anywhere on your system, possibly in your home directory or where you save your code or Git repositories. Give it a name and navigate to that directory.

mkdir ansible
cd ansible
ansible $

Next, create an inventory file in that directory. The inventory file is a simple formatted file containing a list of systems we want to connect to and control using Ansible. It can include single hosts, group hosts together, groups of groups, and set variables on a host or group basis.

We recommend naming the directory ansible and the file inventory to maintain a proper naming convention.

touch inventory

Open the file and add the hostname or FQDN of the server(s) you want to deploy Rocket.Chat to.

chat.my.domain

The [chat_servers] denotes a group called "chat_servers." Any hostnames/FQDNs/IP addresses under this will be members of the "chat_servers" group. If you want to add another server, add it like this:

[chat_servers]
chat.my.domain
talk.my.domain

We recommend authenticating SSH connections to your server(s) using SSH key pairs. However, you can provide Ansible with the root user's password in the inventory file if you don't have SSH.

This should only be temporary because it is an insecure practice.

Set the root user's password for the chat.my.domain host:

[chat_servers]
chat.my.domain ansible_ssh_pass=SuP3rseCre7pA$sw0rd
talk.my.domain

Download the Rocket.Chat Ansible role

 ansible-galaxy.

First, create a roles directory:

ansible $ mkdir roles

Then, create a requirements.yml file describing how we want to fetch the role to ansible-galaxy. Open the file roles/requirements.yml.The file's contents will vary based on which version of Ansible you're running.

Run ansible --version to know your version of Ansible.

If you're running Ansible 1.9.4, update requirements.yml with the following data:

- src: RocketChat.Server
  version: master

If you're running Ansible 2.0, update requirements.yml with the following data:

  - src: RocketChat.Server
    version: v2.2.2

Next, fetch the Rocket.Chat Ansible role using the ansible-galaxy command:

ansible-galaxy install -p roles/ -r roles/requirements.yml

This command installs any roles defined requirements.yml. Now you have the RocketChat.Server role in your roles directory.

ls roles
RocketChat.Server

Create a Playbook to "play" the Rocket.Chat Ansible Role

Ansible roles are built from a collection of "plays" - essentially, tasks/actions to take. To use a role, create a simple playbook that tells Ansible, "I want to run this role on these systems."

Let's call the playbook rocket_chat.yml .

The .yml denotes a YAML document, which is what language you use to express most things in Ansible.

touch rocket_chat.yml

Add the following information to your rocket_chat.yml playbook:

---

  - name: Apply the RocketChat.Server role to all chat_servers
    hosts: chat_servers

    roles:
      - RocketChat.Server

Deploy Rocket.Chat using Ansible

To run the playbook, use the ansible-playbook command,

ansible-playbook -i inventory rocket_chat.yml

This command can be expressed as "run the rocket_chat.yml playbook with the inventory file inventory." When the deployment is successful, visit https://chat.my.domain and the Rocket.Chat login screen appears.

Future releases of the will include other operating systems and Linux distributions/releases. If you'd like to see a particular OS supported, please to ask if it can be added.

Ansible shares and uses other people's roles through . You can download the roles you want using a command-line tool installed earlier when you installed Ansible.

See the to explore other Ansible role options.

Rocket.Chat official Ansible role
official installation guide
pip
Homebrew
pkgsrc
official Rocket.Chat Ansible role
raise an issue
Galaxy
README