NGINX failed as a non-root user
ProblemRunning NGINX without root privileges caused a PID-file permission issue.
FixMoved the PID file to /tmp so the container could run with the intended permissions.
Built, containerised and deployed an application using Docker, Terraform and ECS, with HTTPS and a custom domain.
I took a web application from local containerisation through to a repeatable AWS deployment. Docker packaged the application, ECR stored the image, ECS Fargate ran the workload, an Application Load Balancer exposed it over HTTPS, Route 53 provided the custom domain and Terraform moved the infrastructure away from manual setup. GitHub Actions then automated both infrastructure and application delivery using OIDC.
/health endpoint.▋ProblemRunning NGINX without root privileges caused a PID-file permission issue.
FixMoved the PID file to /tmp so the container could run with the intended permissions.
ProblemHosted-zone issues prevented the expected certificate validation path from completing cleanly.
FixWorked through the Route 53 DNS and ACM validation configuration until the certificate could be issued and attached to the load balancer.
ProblemARM64 emulation slowed builds and a Yarn network timeout also caused workflow failures.
FixKept the build stage native where possible and increased the Yarn network timeout rather than treating the failure as an application defect.
The application was successfully deployed on ECS Fargate behind an HTTPS Application Load Balancer and custom Route 53 domain. Docker images were stored in ECR, the infrastructure was managed with modular Terraform, and GitHub Actions used OIDC for both infrastructure and application deployment workflows. The AWS environment was later destroyed with Terraform to avoid ongoing charges.