dev-env is a repository for my personal Infrastructure-as-Code (IaC)
environment setups on Hetzner Cloud.
Designed for fast prototyping and throwaway environments, it provisions a
ready-to-code remote workspace with my preferred development tools
(e.g., Neovim) and configuration on Debian 13 using Terraform and
Cloud-init.
- Terraform v1.13.1 or later
- Hetzner Cloud API key with r/w permissions
- id_ed25519 key
- Install the required dependencies mentioned above
- git clone and
cdinto the repository:
git clone https://github.com/neeythann/dev-env.git && cd dev-env - (optional) export
HCLOUD_TOKENin your environment variables terraform initterraform apply
After terraform apply completes, it will output a server_ip variable.
Note that provisioning can take up to 5 minutes due to cold starts and
dependency installations.
Once ready, you can SSH into the server using: ssh nathan@<server_ip>
You can change the username by modifying the users[0].name, and update the
SSH public keys in users[0].ssh_import_id in the cloud-init.yaml file.
Furthermore, the server configuration is defined on the terraform.tfvars
file, which you could modify according to the Hetzner API server specification
at https://docs.hetzner.cloud/reference/cloud#servers
Contributions are welcome! Feel free to submit a PR for improvements and bug fixes