{"id":20899183,"url":"https://github.com/geekzter/azure-minecraft-docker","last_synced_at":"2025-04-07T07:11:05.099Z","repository":{"id":38340017,"uuid":"313074637","full_name":"geekzter/azure-minecraft-docker","owner":"geekzter","description":"Minecraft Server powered by Docker \u0026 Azure Container Instance","archived":false,"fork":false,"pushed_at":"2025-01-18T14:29:56.000Z","size":9095,"stargazers_count":60,"open_issues_count":4,"forks_count":46,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-03-31T06:07:01.823Z","etag":null,"topics":["azure","azure-cli","azure-container-instances","azure-file-share","codespace","docker","itzg","logic-apps","minecraft","minecraft-server","powershell","provision","terraform"],"latest_commit_sha":null,"homepage":"","language":"HCL","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/geekzter.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-15T16:34:09.000Z","updated_at":"2025-03-17T00:44:44.000Z","dependencies_parsed_at":"2023-02-15T12:16:06.376Z","dependency_job_id":"ecd80008-f5f1-4870-8183-9b627218f362","html_url":"https://github.com/geekzter/azure-minecraft-docker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geekzter%2Fazure-minecraft-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geekzter%2Fazure-minecraft-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geekzter%2Fazure-minecraft-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geekzter%2Fazure-minecraft-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/geekzter","download_url":"https://codeload.github.com/geekzter/azure-minecraft-docker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247608151,"owners_count":20965952,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["azure","azure-cli","azure-container-instances","azure-file-share","codespace","docker","itzg","logic-apps","minecraft","minecraft-server","powershell","provision","terraform"],"created_at":"2024-11-18T11:13:24.106Z","updated_at":"2025-04-07T07:11:05.077Z","avatar_url":"https://github.com/geekzter.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Minecraft Server powered by Docker \u0026 Azure Container Instance\nThis repo deploys [itzg/minecraft-server](https://hub.docker.com/r/itzg/minecraft-server) as [Azure Container Instance](https://azure.microsoft.com/en-us/services/container-instances/), using Terraform.\n\n[![ci-scripted](https://github.com/geekzter/azure-minecraft-docker/actions/workflows/ci-scripted.yml/badge.svg)](https://github.com/geekzter/azure-minecraft-docker/actions/workflows/ci-scripted.yml)\n[![ci-vanilla](https://github.com/geekzter/azure-minecraft-docker/actions/workflows/ci-vanilla.yml/badge.svg)](https://github.com/geekzter/azure-minecraft-docker/actions/workflows/ci-vanilla.yml)\n[![ci-dotnet](https://github.com/geekzter/azure-minecraft-docker/actions/workflows/ci-dotnet.yml/badge.svg)](https://github.com/geekzter/azure-minecraft-docker/actions/workflows/ci-dotnet.yml)\n\n![alt text](./visuals/diagram.png \"Diagram\")\n\n## Instructions\nThere are 2 ways to set this up:\n\n### Codespace setup\nThe easiest method is to use a GitHub [Codespace](https://github.com/features/codespaces) (in beta). Just create a GitHub Codespace from the Code menu. Wait for the Codespace to complete provisioning. When the Codespace has completed provisioning and you open a terminal window (Ctrl-`, Control-backquote), you should see a message like this:\n```\nTo provision infrastructure, make sure you're logged in with Azure CLI e.g. run 'az login' and 'az account set --subscription 00000000-0000-0000-0000-000000000000'. Then, either:\n - change to the /home/codespace/workspace/azure-minecraft-docker/terraform directory and run 'terraform apply', or:\n - run /home/codespace/workspace/azure-minecraft-docker/scripts/deploy.ps1 -apply\nTo destroy infrastructure, replace 'apply' with 'destroy' in above commands\n```\nJust follow these steps to provision Minecraft on Azure.\n### Local setup\nIf you set this up locally, make sure you have the following pre-requisites:\n- [Azure CLI](http://aka.ms/azure-cli)\n- [PowerShell](https://github.com/PowerShell/PowerShell#get-powershell)\n- [Terraform](https://www.terraform.io/downloads.html) (to get that you can use [tfenv](https://github.com/tfutils/tfenv) on Linux \u0026 macOS, [Homebrew](https://github.com/hashicorp/homebrew-tap) on macOS or [chocolatey](https://chocolatey.org/packages/terraform) on Windows)\n\nOn macOS, you can run `brew bundle` to install the pre-requisites.\n\nOnce you have those, you can go ahead and provision:\n- Use Azure CLI for SSO with [Terraform](https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/guides/azure_cli): `az login`\n- Select subscription to use: `az account set --subscription 00000000-0000-0000-0000-000000000000`\n- Initialize terraform: `terraform init`\n- Provision cloud infrastructure: `terraform apply`\n\n### Customization\nYou can customize the deployment by overriding defaults for Terraform [input variables](https://www.terraform.io/docs/configuration/variables.html). The easiest way to do this is to copy [config.auto.example.tfvars](./terraform/config.auto.example.tfvars) and save it as config.auto.tfvars.\n- Use the `minecraft_users` array to define users allowed to log in\n- Use a custom DNS name with `vanity_dns_zone_id` and `vanity_hostname_prefix`, using an Azure DNS managed domain\n- Once things get serious, you may want to start backing up data with `enable_backup`\n- Are your kids home schooling on the same computer that has Minecraft installed? Configure auto shutdown \u0026 startup during weekdays with `enable_auto_startstop`, `start_time` \u0026 `stop_time`. The Logic App triggers created can be favorited in the [mobile app](https://azure.microsoft.com/en-us/features/azure-portal/mobile-app/) for on-demand startup \u0026 shutdown.\n- Concerned about chat messages appearing in logs? `enable_log_filter` uses the [Console Spam Fix](https://dev.bukkit.org/projects/console-spam-fix) and [configures](./minecraft/log-filter/config.yml) it to hide chat messages from logs. This feature is dependent on [PowerShell](https://github.com/PowerShell/PowerShell) and is more brittle in automation, but satisfies a key privacy requirement.\n\nSee [variables.tf](./terraform/variables.tf) for all input variables.\n## Dashboard\nOnce provisioned, a dashboard like this will be available in the Azure Portal:   \n\n![alt text](./visuals/dashboard.png \"Dashboard\")\nYou can update the dashboard in the portal and re-generate the [template](./terraform/dashboard.tpl) using [templatize_dashboard.ps1](./scripts/templatize_dashboard.ps1).\n\n## Resources\n- [itzg/minecraft-server](https://hub.docker.com/r/itzg/minecraft-server) on Docker Hub\n- [docker-minecraft-server](https://github.com/itzg/docker-minecraft-server) on Github\n- [Minecraft on Azure Friday](https://www.youtube.com/watch?v=2D8FTi-Zvt0) (uses Docker CLI workflow)\n- [Minecraft on Docker Blog](https://www.docker.com/blog/deploying-a-minecraft-docker-server-to-the-cloud/) (uses Docker CLI workflow)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeekzter%2Fazure-minecraft-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeekzter%2Fazure-minecraft-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeekzter%2Fazure-minecraft-docker/lists"}