{"id":17888111,"url":"https://github.com/fireflycons/amzn2-dev-environment","last_synced_at":"2026-03-19T02:19:39.888Z","repository":{"id":96974340,"uuid":"447180426","full_name":"fireflycons/amzn2-dev-environment","owner":"fireflycons","description":"Amazon Linux 2 Desktop Development Environment","archived":false,"fork":false,"pushed_at":"2023-04-14T05:36:08.000Z","size":150,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-04T05:47:07.888Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/fireflycons.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":"2022-01-12T10:52:06.000Z","updated_at":"2023-03-30T09:09:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"f009ac23-a89a-456a-8429-96c0324b8ef0","html_url":"https://github.com/fireflycons/amzn2-dev-environment","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fireflycons/amzn2-dev-environment","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fireflycons%2Famzn2-dev-environment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fireflycons%2Famzn2-dev-environment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fireflycons%2Famzn2-dev-environment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fireflycons%2Famzn2-dev-environment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fireflycons","download_url":"https://codeload.github.com/fireflycons/amzn2-dev-environment/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fireflycons%2Famzn2-dev-environment/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29506335,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T09:05:14.864Z","status":"ssl_error","status_checked_at":"2026-02-16T08:55:59.364Z","response_time":115,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":"2024-10-28T13:36:34.673Z","updated_at":"2026-02-16T11:03:56.051Z","avatar_url":"https://github.com/fireflycons.png","language":"HCL","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Amazon Linux 2 Development Environment\n\nThis liitle project arose out of a need to have a Linux-based development environment in order to do a pairing exercise for a job interview. Unfortunately my PC is running Windows, and whilst there are options such as WSL, Docker and VirtualBox, these environments don't really cut the mustard of a full Linux desktop system - especially when you want to run a browser against things that can be quite tricky to route outside the workstation, e.g. minikube dashboard.\n\nHaving an AWS account, I checked to see if it is possible to run a Linux GUI in EC2, and indeed [it is](https://aws.amazon.com/premiumsupport/knowledge-center/ec2-linux-2-install-gui/). Upon reading this document, I immediately set about automating the build described such that I could stand it up and tear it back down again with minimum fuss.\n\n## How it works\n\nYou create an AMI of the environment, then use Terraform to provision it in your AWS account. The deployed environment runs a VNC server to which you connect from your Windows PC via an SSH tunnel.\n\nNote that the following should also work for Macs as there is a TigerVNC viewer for Mac, but you'll need to use the appropriate SSH tools for the system.\n\n## Deploying the Environment\n\nThis assumes you're running Windows and want to deploy a Linux desktop in your AWS account.\n\n### Prerequisites\n\n* PuTTY - SSH client (including PuTTYgen for creating key pair)\n* Tiger VNC Viewer\n* Hashcorp Packer\n* Hashicorp Terraform\n* AWS Account.\n    * Ensure you've configured the AWS CLI with defaults for credentials and the region you want to deploy in. Packer and Terraform will both assume the credentials. Packer only will assume the default region. Terrafrom requires an explict region specified. See [main.tf](./terraform/main.tf).\n    * You will also need a VPC with an Internet Gateway and at least one public subnet.\n\nAll of the above software can be installed using [chocolatey](https://chocolatey.org/) on Windows:\n\n```\nchoco install packer terraform putty tigervnc-viewer -y\n```\n\nIdeally have a hosted zone in Route53 so that Terraform can automatically assign a DNS record to the instance.\n\nFollow this guide to get up and running\n\n1. [Generate SSH keypair](./docs/keypair.md)\n1. [Build the AMI](./docs/ami.md)\n1. [Provision Infrastructure](./docs/provision.md)\n1. [Connect to your new environment](./docs/connect.md)\n1. [Parking/Reusing your instance](./docs/park.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffireflycons%2Famzn2-dev-environment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffireflycons%2Famzn2-dev-environment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffireflycons%2Famzn2-dev-environment/lists"}