Minecraft Server Automation on AWS (Terraform + Ansible + Docker)
An end-to-end infrastructure automation project that provisions, configures, and launches a Minecraft server on AWS without touching the AWS Management Console or SSHing into the instance manually. The workflow is split across three tools: Terraform provisions the EC2 instance, security groups, and key pair; Ansible connects over SSH to install Docker and dependencies and push configuration; Docker Compose runs the Minecraft server container with persistent volume mounts for world data and server config. The project is organized by tool (terraform/, ansible/, docker/, scripts/) with clear separation of infrastructure state from application config. Environment-specific values (region, instance type, key path) are parameterized via Terraform variables and Ansible inventory, making the setup reproducible across environments. A setup script ties the phases together and documents the expected execution order. This project demonstrates practical IaC fluency: defining infrastructure declaratively, managing configuration drift with Ansible idempotency, and running stateful workloads in containers on cloud VMs.
Gallery


