Files

170 lines
5.3 KiB
Plaintext

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