AWS Chatwoot Deployment Guide

The following is the guide for deploying Chatwoot on AWS using the marketplace listing. Use our helm charts with AWS Elastic Kubernetes Service(EKS) for a cloud-native deployment.

Prerequisites

  • AWS account

Install Chatwoot via AWS Marketplace AMI

Step 1: Subscribe to Chatwoot

  1. Go to Chatwoot AWS marketplace listing and click on Subscribe.
Subscribe to Chatwoot

Step 2: Sign In

  1. Sign in with your AWS account.
AWS Sign In

Step 3: Continue to Configuration

  1. Click on Continue to Configuration.
Continue to Configuration

Step 4: Configure Software

  1. Select the latest version in Software Version and pick your AWS region. Click Continue to Launch.
Configure Software

Step 5: Launch Configuration

  1. Review the launch configuration. Leave the Choose Action field with the default value Launch from Website. Choose a VPC and subnet as per your AWS region preference.
Launch Configuration

Step 6: Create Security Group

  1. Scroll down to the Security Group section and click Create New Based On Seller Settings.
Create Security Group

Step 7: Save Security Group

  1. Save the new security group and choose it after creation.
Save Security Group

Step 8: Configure Key Pair

  1. Pick a key pair you already have or create a new one in the region you are deploying. Click Launch.
Configure Key Pair

Step 9: Launch Confirmation

  1. AWS should now display a congratulations screen confirming that Chatwoot instance is launched successfully. Click on the EC2 Console link.
Launch Confirmation

Step 10: Wait for Instance

  1. Wait for a few minutes to let the instance come up.
Wait for Instance

Step 11: Get Public IP

  1. Select the instance and copy the public IP.
Get Public IP

Step 12: Access Chatwoot

  1. Visit http://<your-public-ip>:3000. This should bring up the Chatwoot UI. Congratulations. Woot! Woot!!
Access Chatwoot

Configuring Chatwoot

To configure Chatwoot, we need to SSH into the instance. We will use AWS Console Connect for this.

Step 1: Connect to Instance

  1. Select the instance and click on Connect.
Connect to Instance

Step 2: Use Ubuntu User

  1. Change the username from root to ubuntu and click Connect.
Use Ubuntu User

Step 3: Configure Environment Variables

  1. Switch to the chatwoot user and configure the necessary environment variables. Refer to Environment variables document for the complete list.
sudo -i -u chatwoot
cd chatwoot
vi .env
It is recommended to configure a proxy server like Nginx and set up SSL. Make sure to modify the security group created in step 6 accordingly.

Updating the Instance

Please follow the Chatwoot update process in the standard Linux VM setup.

Security Recommendations

SSL Configuration

  • Set up SSL certificates using Let’s Encrypt or AWS Certificate Manager
  • Configure Nginx as a reverse proxy
  • Update security group rules to allow HTTPS traffic (port 443)

Access Control

  • Restrict SSH access to specific IP addresses
  • Use IAM roles for EC2 instances where possible
  • Enable AWS CloudTrail for audit logging

Backup Strategy

  • Set up automated EBS snapshots
  • Configure database backups
  • Store backups in S3 with appropriate lifecycle policies

Troubleshooting

Common Issues

Support Resources


The AWS Marketplace AMI provides a quick way to deploy Chatwoot with pre-configured settings. For production use, ensure you implement proper security measures and backup strategies.