---
title: AWS Marketplace AMI Deployment
description: Deploy Chatwoot on AWS using the marketplace AMI listing
sidebarTitle: AWS Marketplace
---

# 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](https://aws.amazon.com/marketplace/pp/prodview-tolblk4kmdqd4) and click on **Subscribe**.

![Subscribe to Chatwoot](/self-hosted/images/aws-ami/awsmp-01-subscribe.png)

### Step 2: Sign In

2. Sign in with your AWS account.

![AWS Sign In](/self-hosted/images/aws-ami/awsmp-02-signin.png)

### Step 3: Continue to Configuration

3. Click on **Continue to Configuration**.

![Continue to Configuration](/self-hosted/images/aws-ami/awsmp-03-continue.png)

### Step 4: Configure Software

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

![Configure Software](/self-hosted/images/aws-ami/awsmp-04-configure.png)

### Step 5: Launch Configuration

5. 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](/self-hosted/images/aws-ami/awsmp-05-launch.png)

### Step 6: Create Security Group

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

![Create Security Group](/self-hosted/images/aws-ami/awsmp-06-sg.png)

### Step 7: Save Security Group

7. Save the new security group and choose it after creation.

![Save Security Group](/self-hosted/images/aws-ami/awsmp-07-sg.png)

### Step 8: Configure Key Pair

8. Pick a key pair you already have or create a new one in the region you are deploying. Click **Launch**.

![Configure Key Pair](/self-hosted/images/aws-ami/awsmp-08-keypair.png)

### Step 9: Launch Confirmation

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

![Launch Confirmation](/self-hosted/images/aws-ami/awsmp-09-launch.png)

### Step 10: Wait for Instance

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

![Wait for Instance](/self-hosted/images/aws-ami/awsmp-10-ec2.png)

### Step 11: Get Public IP

11. Select the instance and copy the public IP.

![Get Public IP](/self-hosted/images/aws-ami/awsmp-11-public-ip.png)

### Step 12: Access Chatwoot

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

![Access Chatwoot](/self-hosted/images/aws-ami/awsmp-12-chatwoot.png)

## 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](/self-hosted/images/aws-ami/awsmp-13-connect.png)

### Step 2: Use Ubuntu User

2. Change the username from `root` to `ubuntu` and click **Connect**.

![Use Ubuntu User](/self-hosted/images/aws-ami/awsmp-14-connect.png)

### Step 3: Configure Environment Variables

3. Switch to the `chatwoot` user and configure the necessary environment variables. Refer to [Environment variables](/self-hosted/configuration/environment-variables) document for the complete list.

```bash
sudo -i -u chatwoot
cd chatwoot
vi .env
```

<Note>
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.
</Note>

## Updating the Instance

Please follow the Chatwoot update process in the standard [Linux VM setup](/self-hosted/deployment/linux-vm).

## 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

<Accordion title="Instance not accessible">
**Problem**: Cannot access Chatwoot on port 3000

**Solutions**:
- Check security group allows inbound traffic on port 3000
- Verify instance is running and healthy
- Check if Chatwoot service is running: `sudo systemctl status chatwoot`
</Accordion>

<Accordion title="Application not starting">
**Problem**: Chatwoot service fails to start

**Solutions**:
- Check logs: `sudo journalctl -u chatwoot -f`
- Verify environment variables are correctly set
- Ensure database connection is working
- Check disk space and memory usage
</Accordion>

### Support Resources

- [AWS Support](https://aws.amazon.com/support/)
- [Chatwoot Community Discord](https://discord.com/invite/cJXdrwS)
- [GitHub Issues](https://github.com/chatwoot/chatwoot/issues)

---

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. 