> ## Documentation Index
> Fetch the complete documentation index at: https://developers.chatwoot.com/llms.txt
> Use this file to discover all available pages before exploring further.

# AWS Marketplace AMI Deployment

> Deploy Chatwoot on AWS using the marketplace AMI listing

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

<img src="https://mintcdn.com/chatwoot-447c5a93/0ZKii1AePO4f9gzo/self-hosted/images/aws-ami/awsmp-01-subscribe.png?fit=max&auto=format&n=0ZKii1AePO4f9gzo&q=85&s=13dcb58b2e3e82fd3fcb9f8c8e6167c0" alt="Subscribe to Chatwoot" width="2784" height="952" data-path="self-hosted/images/aws-ami/awsmp-01-subscribe.png" />

### Step 2: Sign In

2. Sign in with your AWS account.

<img src="https://mintcdn.com/chatwoot-447c5a93/0ZKii1AePO4f9gzo/self-hosted/images/aws-ami/awsmp-02-signin.png?fit=max&auto=format&n=0ZKii1AePO4f9gzo&q=85&s=d08d06ad5016c1a7a44a20a3b1e05482" alt="AWS Sign In" width="442" height="571" data-path="self-hosted/images/aws-ami/awsmp-02-signin.png" />

### Step 3: Continue to Configuration

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

<img src="https://mintcdn.com/chatwoot-447c5a93/0ZKii1AePO4f9gzo/self-hosted/images/aws-ami/awsmp-03-continue.png?fit=max&auto=format&n=0ZKii1AePO4f9gzo&q=85&s=0d6edff878848cd361350f2b5026b4cc" alt="Continue to Configuration" width="1250" height="358" data-path="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**.

<img src="https://mintcdn.com/chatwoot-447c5a93/0ZKii1AePO4f9gzo/self-hosted/images/aws-ami/awsmp-04-configure.png?fit=max&auto=format&n=0ZKii1AePO4f9gzo&q=85&s=f1a0ccde87330e9f80d4c4417f63da05" alt="Configure Software" width="889" height="830" data-path="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.

<img src="https://mintcdn.com/chatwoot-447c5a93/0ZKii1AePO4f9gzo/self-hosted/images/aws-ami/awsmp-05-launch.png?fit=max&auto=format&n=0ZKii1AePO4f9gzo&q=85&s=a166de91ea9c91aa2ff8ba9cdeaca716" alt="Launch Configuration" width="912" height="876" data-path="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**.

<img src="https://mintcdn.com/chatwoot-447c5a93/0ZKii1AePO4f9gzo/self-hosted/images/aws-ami/awsmp-06-sg.png?fit=max&auto=format&n=0ZKii1AePO4f9gzo&q=85&s=67c54928a41e9bb5713f0ad30761188a" alt="Create Security Group" width="796" height="266" data-path="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.

<img src="https://mintcdn.com/chatwoot-447c5a93/0ZKii1AePO4f9gzo/self-hosted/images/aws-ami/awsmp-07-sg.png?fit=max&auto=format&n=0ZKii1AePO4f9gzo&q=85&s=ec1abf99d301c3da12b19c46c494eb1a" alt="Save Security Group" width="924" height="646" data-path="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**.

<img src="https://mintcdn.com/chatwoot-447c5a93/0ZKii1AePO4f9gzo/self-hosted/images/aws-ami/awsmp-08-keypair.png?fit=max&auto=format&n=0ZKii1AePO4f9gzo&q=85&s=e1d4f0faa693135b7f7396177a72e034" alt="Configure Key Pair" width="931" height="538" data-path="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.

<img src="https://mintcdn.com/chatwoot-447c5a93/0ZKii1AePO4f9gzo/self-hosted/images/aws-ami/awsmp-09-launch.png?fit=max&auto=format&n=0ZKii1AePO4f9gzo&q=85&s=9458dfd80c68500f46f59588af0ec865" alt="Launch Confirmation" width="924" height="306" data-path="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.

<img src="https://mintcdn.com/chatwoot-447c5a93/0ZKii1AePO4f9gzo/self-hosted/images/aws-ami/awsmp-10-ec2.png?fit=max&auto=format&n=0ZKii1AePO4f9gzo&q=85&s=ff47a1ccf980d970c5d2a3bccdc3bbea" alt="Wait for Instance" width="1886" height="249" data-path="self-hosted/images/aws-ami/awsmp-10-ec2.png" />

### Step 11: Get Public IP

11. Select the instance and copy the public IP.

<img src="https://mintcdn.com/chatwoot-447c5a93/0ZKii1AePO4f9gzo/self-hosted/images/aws-ami/awsmp-11-public-ip.png?fit=max&auto=format&n=0ZKii1AePO4f9gzo&q=85&s=001476167552009bb7a435b3d5554910" alt="Get Public IP" width="1112" height="253" data-path="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!!

<img src="https://mintcdn.com/chatwoot-447c5a93/0ZKii1AePO4f9gzo/self-hosted/images/aws-ami/awsmp-12-chatwoot.png?fit=max&auto=format&n=0ZKii1AePO4f9gzo&q=85&s=6e2016cc3586ab633fe61b2b897e9b5b" alt="Access Chatwoot" width="1327" height="1017" data-path="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**.

<img src="https://mintcdn.com/chatwoot-447c5a93/0ZKii1AePO4f9gzo/self-hosted/images/aws-ami/awsmp-13-connect.png?fit=max&auto=format&n=0ZKii1AePO4f9gzo&q=85&s=e5d9ce8fffb0763ca76933a6fc6602cc" alt="Connect to Instance" width="1272" height="412" data-path="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**.

<img src="https://mintcdn.com/chatwoot-447c5a93/0ZKii1AePO4f9gzo/self-hosted/images/aws-ami/awsmp-14-connect.png?fit=max&auto=format&n=0ZKii1AePO4f9gzo&q=85&s=82055800e698a26d4df29f87b9aa0684" alt="Use Ubuntu User" width="1182" height="783" data-path="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 theme={null}
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.
