170 lines
5.3 KiB
Plaintext
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**.
|
|
|
|

|
|
|
|
### Step 2: Sign In
|
|
|
|
2. Sign in with your AWS account.
|
|
|
|

|
|
|
|
### Step 3: Continue to Configuration
|
|
|
|
3. Click on **Continue to Configuration**.
|
|
|
|

|
|
|
|
### Step 4: Configure Software
|
|
|
|
4. Select the latest version in **Software Version** and pick your AWS **region**. Click **Continue to Launch**.
|
|
|
|

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

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

|
|
|
|
### Step 7: Save Security Group
|
|
|
|
7. Save the new security group and choose it after creation.
|
|
|
|

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

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

|
|
|
|
### Step 10: Wait for Instance
|
|
|
|
10. Wait for a few minutes to let the instance come up.
|
|
|
|

|
|
|
|
### Step 11: Get Public IP
|
|
|
|
11. Select the instance and copy the public IP.
|
|
|
|

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

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

|
|
|
|
### Step 2: Use Ubuntu User
|
|
|
|
2. Change the username from `root` to `ubuntu` and click **Connect**.
|
|
|
|

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