Case study
Terramine
Made a Minecraft server reproducible with Terraform on GCP and Docker. Added HTTPS and off-site R2 backups so I can rebuild and restore it.
By Mishal ShanavasUpdated
- What was going on
- I wanted a Minecraft server for friends. Setting it up by clicking through cloud dashboards worked once, but gave me no reliable way to rebuild it.
- What I did
- I defined the GCP infrastructure in Terraform, set up Cloudflare DNS and Caddy for the web panel, and ran the services with Docker Compose. Scheduled backups copy the world to R2.
- How it turned out
- The server can be rebuilt from code, the panel has HTTPS, and the world has a restore path outside the VM. A lot of infrastructure for a few blocks, admittedly.
Technical details
- Provisioned the VM, network, firewall rules, static IP, DNS records, and SRV record as Terraform-managed infrastructure.
- Kept the Crafty admin service private behind Caddy while supporting HTTPS and live WebSocket console traffic.
- Made bootstrap and restore operations repeatable, with scheduled backups copied away from the VM to R2.
TerraformGCPDockerCaddyCloudflare