
Accelerate Workload Delivery with Coolify and AWS Graviton Instances
Deploy cost-effective web applications, APIs, and more.
Eldyn Castillo
Amazon Employee
Published May 14, 2025
Coolify is a popular open-source alternative Platform-as-a-Service (PaaS), similar to Heroku, Vercel, and other platforms. At 41k stars on Github it is suitable for hosting a wide variety applications. APIs, Single Page Applications, Server Side Rendered Applications, and more can take advantage of a cost-effective way to run workloads. In this post, I'll show you how you can run Coolify on Amazon Elastic Compute Cloud (EC2) T4G instances.
- An AWS Account
- An Amazon Virtual Private Cloud (VPC) VPC
- General knowledge of linux commands
To get started with Coolify, you are going to need an EC2 instance. To do this, you're going to navigate to the console, search for EC2, and click on the orange "Launch Instances" button at the top right.
Now, we're going to fill out the parameters needed. It's important to note that Coolify requires at least 30GB of storage, which falls under the free tier. You will also need to create a key pair to SSH into the instance.
To get started, take the following steps:
- Give your EC2 instance a name
- Under Application and OS Images, change the Architecture to "64-bit (Arm)"
- Change the Instance Type to "t4g.medium"
- Select or create a new key pair, and make sure you have it downloaded, as it will be used to SSH into the server
- For network settings
- Select your VPC
- Select auto-assign public IP
- Select a public subnet
- Create or use an existing security group that allows
- Inbound SSH access from your IP address or bastion host
- Inbound TCP access on port 8000 from your IP or bastion host
- Under Configure Storage, set the amount to 30GB
- Click on the carat icon to open Advanced Details
- Add the following User Data Script
- NOTE: We are creating a swap file because we are using a small instance to save on cost, the swap file will utilize EBS storage when the instance runs out of memory. This is to prevent timeouts during the Coolify build processes
- Review your settings and launch the EC2 instance
You should now be able to navigate to the public IP address and type http://<your-instance-ip>:8000 to onboard with your Coolify instance!
If you plan on using Docker Compose to deploy your projects, you will need to install docker compose, as it does not come by default with docker. To do this, open the Terminal and find where you downloaded your keypair earlier.
Change permissions of the key pair file by running
chmod 400 <your-key-pair>.pem
SSH into the instance by running
ssh -i "<your-key-pair>.pem" ec2-user@<instance-public-ip>
Now, we're going to install docker compose, you can follow the instructions from Docker to install it
- In your terminal paste and run
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
- Run
mkdir -p $DOCKER_CONFIG/cli-plugins
- Run
curl -SL https://github.com/docker/compose/releases/download/v2.36.0/docker-compose-linux-aarch64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
- Verify installation with
docker compose version
Now that you have installed Coolify on Graviton, you can now configure Coolify applications, configure backups, and more!
Any opinions in this post are those of the individual author and may not reflect the opinions of AWS.