Deploy Edesy Email on AWS (Amazon EC2)
This page guides you through deploying Edesy Email Open-Source on an Amazon EC2 instance by setting up the deployment environment, installing and starting Edesy Email, and connecting it to the Amazon EC2 instance.
Requirements
- A t3.medium instance or larger. While you can run it on smaller instances, performance may not be optimal.
- Create and download an SSH key to connect to the instance
Setup
- SSH into your instance or use Amazon EC2 Instance Connect
- Install Docker
sudo yum update -y
sudo yum install -y docker containerd git screen
sudo service docker start
sudo usermod -a -G docker $USER
- Install
docker-compose
wget https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)
sudo mv docker-compose-$(uname -s)-$(uname -m) /usr/libexec/docker/cli-plugins/docker-compose
chmod +x /usr/libexec/docker/cli-plugins/docker-compose
sudo systemctl enable docker.service --now
docker compose version
- Download Edesy Email configuration:
mkdir edesy-email && cd edesy-email
wget https://raw.githubusercontent.com/edesy-email/platform/master/{.env.example,docker-compose.yml}
- Setup environment variables
mv .env.example .env
For default installations, security is set to basic which only allows for a single user. Before proceeding please update the email, password and app secret to not be their default values.
APP_SECRET=//Please pick a random value at least 16 characters in length
[email protected]
AUTH_BASIC_PASSWORD=password
This file also lets you use a separate database, change what queue is being used or setup SSO.
By default the port is configured to use 3000 for the UI and API. You can modify this by setting UI_PORT.
- Bring containers online
docker compose up -d # run the Docker container
- Setup security groups Based on what port you are using for the UI portion, you will want to make sure you have configured that port to be open as well in your security groups.