Skip to main content
← Projects

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 Updated
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