Learn how to install and configure Mattermost on AWS with our step-by-step deployment guide. This comprehensive guide walks you through everything from provisioning your cloud environment to securely deploying and optimizing Mattermost for scalability, high availability, and performance on AWS. Whether you're building a DevOps command center or a secure team collaboration hub, this guide will help you get Mattermost running efficiently in the cloud.

Video Guide

Prerequisites

Before you get started with the Mattermost AMI, ensure you have the following prerequisites:

  • Basic knowledge of AWS services, including EC2 instances and CloudFormation.
  • An active AWS account with appropriate permissions.
  • Enough vCPU limit to create instance (Follow this guide to ensure this)

Launching the AMI

Step 1: Find and Select 'Mattermost' AMI

  1. Log in to your AWS Management Console.
  2. Navigate to the 'Mattermost' in AWS Marketplace.

Step 2: Initial Setup & Configuration

  1. Click the "Continue to Subscribe" button.
  2. After subscribing, you will need to accept the terms and conditions. Click on "Accept Terms" to proceed.
  3. Please wait for a few minutes while the processing takes place. Once it's completed, click on "Continue to Configuration".
  4. Select the "CloudFormation script to deploy Mattermost" as the fulfilment option and choose your preferred region on the "Configure this software" page.
  5. Afterward, click the "Continue to Launch" button.
  6. From the "Choose Action" dropdown menu in "Launch this software" page, select "Launch CloudFormation" and click "Launch" button.

Create CloudFormation Stack

Step1: Create stack

  1. Ensure the "Template is ready" radio button is selected under "Prepare template".
  2. Click "Next".

Step2: Specify stack options

  1. Provide a unique "Stack name".
  2. Provide the "Admin Email" for SSL generation.
  3. For "DeploymentName", enter a name of your choice.
  4. Provide a public domain name for "DomainName" (Mattermost will automatically try to setup SSL based on provided domain name, if that domain hosted on Route53. Please make sure your domain name hosted on route53. If its unsuccessful then you have to setup SSL manually).
  5. Choose an instance type, "InstanceType" (Recommended: t3.small).
  6. Select your preferred "keyName".
  7. Provide a S3 bucket name to "S3Bucket" for storing Database Backups.
  8. Set "SSHLocation" as "0.0.0.0/0".
  9. Keep "SubnetCidrBlock" as "10.0.0.0/24".
  10. Keep "VpcCidrBlock" as "10.0.0.0/16".
  11. Click "Next".

Step3: Configure stack options

  1. Choose "Roll back all stack resources" and "Delete all newly created resources" under the "Stack failure options" section.
  2. Click "Next".

Step4: Review

  1. Review and verify the details you've entered.
  2. Review Stack
  3. Tick the box that says, "I acknowledge that AWS CloudFormation might create IAM resources with custom names".
  4. Acknowledge IAM resource creation
  5. Click "Submit".

Afterward, you'll be directed to the CloudFormation stacks page.

Please wait for 5-10 minutes until the stack has been successfully created.

Stack Creation in Progress

Update DNS

Step1: Copy IP Address

Copy the public Ip labeled "PublicIp" in the "Outputs" tab.

CloudFormation Outputs

Step2: Update DNS

  1. Go to AWS Route 53 and navigate to "Hosted Zones".
  2. From there click on Create record.
  3. Create Record
  4. Add record name and then paste the copied "PublicIp" into the "value" textbox.
  5. Click "Save".

Access Mattermost

You can setup the Mattermost application through the "DashboardUrl" or "DashboardUrlIp" provided in the "Outputs" tab. This will allow you to create an Admin account and all the future accounts will be created through the Admin panel.

Access Mattermost Dashboard

502 Bad Gateway Error?

If you see a "502 Bad Gateway" error, don't worry! The application is likely still starting up. Please wait about 5 minutes and then refresh the page. 502 Bad Gateway Error

Enter all the required details and click on the “Create Account” button.

Create Mattermost Account

Important

You are now creating the Administrator Account for your Mattermost deployment. The email address and password you provide here will be used to manage your entire workspace including inviting team members, configuring system settings, and maintaining overall access. Make sure to choose a strong password and store your credentials securely, as they are critical for future access and team management.

Generate SSL Manually

Step1: Copy IP Address

Proceed with the instructions outlined in the above "Update DNS" section, if you have not already done so. Copy the Public IP address indicated as "PublicIp" in the "Outputs" tab.

Copy IP Address

Step2: Log in to the server

  1. Open the terminal and go to the directory where your private key is located.
  2. Paste the following command into your terminal and press Enter:
ssh -i <your key name> ubuntu@<Public IP address>
Log in to the server
  1. Type "yes" and press Enter. This will log you into the server.

Step3: Generate SSL

Paste the following command into your terminal and press Enter and follow the instructions:

sudo /root/certificate_generate_standalone.sh

Admin Email is acquiring for generate SSL certificates.

Check Server Logs

Step1: Log in to the server

  1. Open the terminal and go to the directory where your private key is located.
  2. Paste the following command into your terminal and press Enter:
ssh -i <your key name> ubuntu@<Public IP address>
Log in to the server
  1. Type "yes" and press Enter. This will log you into the server.

Step2: Check the logs

List the available containers

sudo docker ps

Select the correct container and check logs

sudo docker logs f9
sudo docker logs 58
Check the logs

Shutting Down Mattermost

  1. Click the link labeled "Instance" in the "Resources" tab to access the EC2 instance, you will be directed to the Mattermost instance in EC2.
  2. Access the EC2 instance
  3. Select the Mattermost instance by marking the checkbox and click "Stop instance" from the "Instance state" dropdown. You can restart the instance at your convenience by selecting "Start instance".
  4. Stop the Mattermost instance

Remove Mattermost

Delete the stack that has been created in the AWS Management Console under 'CloudFormation Stacks' by clicking the 'Delete' button.

Upgrades

When there is an upgrade, we will update the product with a newer version. You can check the product version in AWS Marketplace.. If a newer version is available, you can remove the previous version and launch the product again using the newer version. Remember to backup the necessary server data before removing.

Troubleshooting Common Issues

  1. vCPU Quota Error: If you see an error about vCPU limits, please follow this guide to request an increase.
  2. AWS vCPU quota limit error
  3. Insufficient Capacity: If you get an "insufficient instance capacity" error, try launching the stack in a different AWS region or at a later time.
  4. AWS insufficient instance capacity error
  5. Dashboard Error on First Load: If the dashboard doesn't load immediately, wait 5-10 minutes for the services to initialize and then try again.
  6. Dashboard error on initial load

Log into the server and run the below command

df -h
Check disk space

root volume

If the root volume is between 90-100%, it is better to resize EBS volume. Please follow AWS documentation to increase the EBS volume. Then reboot the instance.

  1. If you can't access your team's workspace?

If you're unable to sign up or access the workspace:

Unable to access the workspace
  • Contact your Workspace Administrator – They can provide you with the correct invite link or troubleshoot access permissions.
  • Contact your Workspace Administrator Receive invite link
  • Once you receive the invite link, you can use it to sign up and join your team.
  • If issues persist, reach out to your IT support team or deployment owner for further assistance.
    1. If you cant communicate real-time/you need to refresh tab to see messages,

    Issue is related to websocket failure.

    Go to browser console and check whether you have websocket issues

    Check websocket issues

    Then please point DNS and try to access the dashboard using domain name.

    Conclusion

    Congratulations! You have successfully deployed Mattermost on your AWS account. With this scalable and secure setup, you have full control over your collaboration infrastructure, data, and branding. Whether for personal use or for your business, Mattermost on AWS provides a reliable and cost-effective solution.

    Technical Support

    If you run into any issues, our support team is here to help. Reach out to us at aws@meetrix.io.

    Frequently Asked Questions

    Can I customize the Mattermost theme and plugins?

    Yes. Meetrix supports full admin access, allowing you to upload and configure themes, modules, and integrations.

    Is Mattermost mobile-friendly?

    Absolutely. Mattermost includes responsive design and a dedicated mobile app for learners and instructors.

    Can this deployment support large numbers of users?

    Yes. We help clients scale from a few hundred to tens of thousands of concurrent learners using Mattermost's built-in scalability features.

    Is the solution compliant with education data standards (FERPA, GDPR, etc.)?

    Yes. Because you own the AWS environment, we can help you configure access, logging, and encryption to meet strict compliance requirements.

    Ready to Launch Your Own Collaboration Platform?

    Get started in minutes with our pre-configured AMI and take control of your collaboration.

    Deploy Mattermost from AWS Marketplace