The author talks about how Dokku came to the rescue when attempting to deploy to AWS in 2024 was nothing short of a nightmare with Elastic Beanstalk.
The article aims to set up an app, built with React and Ruby on Rails, deploy it to AWS and highlight considerations with Dokku and infrastructure.
The author explains that to connect rails and react, they leverage the fact that npm run build compiles everything into a singular index.html placed in Rails' public/ directory.
It also explains that package.json within the rails folder was created to
Dokku operates on buildpacks, which are sets of instructions to build your app using activation conditions.
The infrastructure for the project is simple: end users send a request to a load balancer, which routes the request to an EC2 instance within an auto-scaling group.
A launch template is used for creating instances in the auto scaling group, with the necessary buildpacks and configurations for setting up the app.
The article explains how to create the VPC, RDS Postgres database, security groups, IAM role to access secrets, and a launch template for EC2 instances to be part of an auto-scaling group.
Enabling HTTPS, EC2 launch script and dokku settings, and future recommendations like using terraform or setting up a CI/CD pipeline for the project are also discussed.