{"id":27876808,"url":"https://github.com/mjtechguy/hetzner-cloud-complete-course","last_synced_at":"2025-07-21T18:31:15.352Z","repository":{"id":162158446,"uuid":"583470968","full_name":"mjtechguy/hetzner-cloud-complete-course","owner":"mjtechguy","description":"A guide to setting up and using Hetzner Cloud and managing resources with the hcloud-cli and Terraform.","archived":false,"fork":false,"pushed_at":"2023-01-02T01:20:23.000Z","size":3,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-05T02:54:30.630Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mjtechguy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2022-12-29T22:01:04.000Z","updated_at":"2024-09-28T10:36:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"ac78f7d3-46c8-4233-803d-1045f159f055","html_url":"https://github.com/mjtechguy/hetzner-cloud-complete-course","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mjtechguy/hetzner-cloud-complete-course","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mjtechguy%2Fhetzner-cloud-complete-course","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mjtechguy%2Fhetzner-cloud-complete-course/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mjtechguy%2Fhetzner-cloud-complete-course/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mjtechguy%2Fhetzner-cloud-complete-course/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mjtechguy","download_url":"https://codeload.github.com/mjtechguy/hetzner-cloud-complete-course/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mjtechguy%2Fhetzner-cloud-complete-course/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266352508,"owners_count":23915766,"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","status":"online","status_checked_at":"2025-07-21T11:47:31.412Z","response_time":64,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2025-05-05T02:52:33.013Z","updated_at":"2025-07-21T18:31:15.346Z","avatar_url":"https://github.com/mjtechguy.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hetzner Cloud Complete Course by MJTechGuy\n\nIn this series you will learn how to setup and use Hetzner Cloud, and manage resources using the `hcloud` CLI and Terraform.\n\n---\n\n## Getting started.\n\n1. Drop a star on this repo. (Thanks!) :star:\n2. Have the following available:\n  - Email account\n  - Credit card (for signing up with Hetzner)\n  - Authy MFA app (or similar) for configuring multi-factor authentication\n  - Computer with `ssh-keygen` for generating an access key\n\n---\n\n## About Hetzner Cloud\n\n**Website:** [https://hetzner.com*](https://hetzner.cloud/?ref=JRGtolHM4Qdb)\n\n[Hetzner Cloud](https://hetzner.cloud/?ref=JRGtolHM4Qdb) is an affordable cloud hosting provider with datacenters in the Europe, and East and West US.\n\nIt provides server nodes, firewalls, load balancers, generous traffic (20TB per node) and other features that are perfect for development and some production workloads.\n\nHetzner is **much** cheaper for the equivalent CPU and memory you get on other providers like DigitalOcean, AWS, etc. \n\nHowever, Hetzner does not (as of December 2022) have managed databases, managed Kubernetes services and other services like many of the cloud providers have. So chose your cloud provider(s) based on your needs.\n\nHere is a pricing example comparing a 2vCPU and 2GB AMD/Intel Node running Linux on Hetzner, DigitalOcean, AWS, Azure and GCP.\n\n- Hetzner: `cpx11` - ~$4/month\n- DigitalOcean: `s-2vcpu-2gb` - $18/month\n- AWS: `t3a.small` - ~$14/month (not including traffic or storage)\n- Azure: Azure doesn't have a 2vCPU/2GB option, but their `B1ms` node with 1vCPU/2GB is ~$15/month not including traffic and persistent storage.\n- GCP: `e2-standard-2` - ~$14/month (not including traffic and storage)\n\n---\n\n## Hetzner Cloud Account Setup\n\n1. Visit [hetzner.com*](https://hetzner.cloud/?ref=JRGtolHM4Qdb) and sign up.\n2. Enable Multi Factor Authentication (2FA) on your account. I recommend using [Authy](https://authy.com/) to store MFA as it allows for multiple devices and backups. \n- Click the \"person\" icon in the top right and select \"User Account\"\n- Under \"Settings\" on the left menu, click \"Two-factor authentication\". \n- Click \"Add new authentication method\" and select \"Mobile Device\". \n- Scan the QR code with your mobile device using Authy (or similar app) and fill in \"Description\", your \"Account Password\" and the One Time Password (OTP) shown in the Authy app after you scanned the QR code.\n- Click \"+Add\" and now your account is protected with multi-factor authentication\n\n## ** VIDEO COMING SOON **\n\n`*` This is a referral link. When you use it, you will get $20 in free credit on Hetzner and it helps me out when you use my link. Thanks!\n\n---\n\n## Working with Hetzner Cloud\n\nThis Video covers some of the basics of working with the Hetzner Cloud Web UI to perform certain tasks, including the following:\n\n- Create an API Key\n- Add an SSH-Key\n- Create Firewall\n- Add Private Networks\n- Create a Server\n- Snapshot a Server\n- Delete a Server\n\n## ** VIDEO COMING SOON **\n\n---\n\n## Managing Hetzner Cloud resources with the `hcloud` cli\n\n1. Install the Hetzner CLI: https://github.com/hetznercloud/cli\n2. Add your account using the API key you generated earlier by typing `hcloud context create some-nickname`, replacing `some-nickname` with what you want to call the account. You will be prompted for your API key.\n3. Run some of the following commands to begin using the `hcloud` cli\n\nHere are some basic commands you can use to configure resources in Hetzner Cloud using the Hetzner CLI. If you need to know how to use the `hcloud` commands, you can just add `--help` to any command to see the options.\n\n- `hcloud --help`\n- `hcloud image list`\n- `hcloud image list --type system`\n- `hcloud server`\n- `hcloud server list`\n- `hcloud ssh-key list`\n- `ssh-keygen -t rsa -b 4096 -f ~/.ssh/hetzner-test-key`\n- `hcloud ssh-key create --name hetzner-test-key --public-key-from-file ~/.ssh/hetzner-test-key.pub`\n- `hcloud server create --location ash --type cpx21 --image - ubuntu-20.04 --ssh-key hetzner-test-key --name $SOMENAME`\n- `hcloud server create-image --type snapshot $INSTANCEID`\n- `hcloud server delete $INSTANCEID`\n- `hcloud ssh-key delete`\n\n## ** VIDEO COMING SOON **\n\n---\n\n## Managing Hetzner Cloud resources with Terraform\n\n1. Install [Terraform](https://developer.hashicorp.com/terraform/tutorials/aws-get-started/install-cli) on your platform of choice. \n2. Follow along in the [video](https://www.youtube.com/@mjtechguy) or use the [examples linked here.](examples/terraform/)\n\n## ** VIDEO COMING SOON **\n\n---\n\n## About MJ\n\nMy name is Mike Johnson. You can call me MJ. I have been working in technology for over 20+ years and have a vast amount of experience in many areas of technology, mostly from the Infrastructure and Operations side.\n\nI have some container certs (Docker and Kubernetes), a few cloud certs (5 AWS and 1 Azure), and spend most of my time these days building robust cloud, container, cybersecurity automation tooling and educational content.\n\nFeel free to connect with me and I look forward to hearing from you.\n\n- **Github:** https://github.com/mjtechguy\n- **Youtube:** https://www.youtube.com/@mjtechguy\n- **LinkedIn:** https://www.linkedin.com/in/mjtechguy/\n- **Website:** https://mjtechguy.com\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmjtechguy%2Fhetzner-cloud-complete-course","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmjtechguy%2Fhetzner-cloud-complete-course","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmjtechguy%2Fhetzner-cloud-complete-course/lists"}