{"id":19164568,"url":"https://github.com/heliumedu/deploy","last_synced_at":"2025-10-26T19:17:01.605Z","repository":{"id":91014680,"uuid":"111345809","full_name":"HeliumEdu/deploy","owner":"HeliumEdu","description":"Configuration for remote deployment infrastructure and local development environment","archived":false,"fork":false,"pushed_at":"2025-10-22T02:32:28.000Z","size":780,"stargazers_count":6,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-22T02:34:07.944Z","etag":null,"topics":["aws","django","docker","education","heliumcli","python","terraform","ubuntu"],"latest_commit_sha":null,"homepage":"https://www.heliumedu.com","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/HeliumEdu.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"alexdlaird","patreon":"alexdlaird","custom":["https://www.paypal.me/alexdlaird"]}},"created_at":"2017-11-20T01:03:37.000Z","updated_at":"2025-10-22T02:32:31.000Z","dependencies_parsed_at":"2023-11-13T02:27:01.073Z","dependency_job_id":"c55203b5-7ec9-47de-a1eb-7758fd284c4a","html_url":"https://github.com/HeliumEdu/deploy","commit_stats":null,"previous_names":[],"tags_count":183,"template":false,"template_full_name":null,"purl":"pkg:github/HeliumEdu/deploy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HeliumEdu%2Fdeploy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HeliumEdu%2Fdeploy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HeliumEdu%2Fdeploy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HeliumEdu%2Fdeploy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HeliumEdu","download_url":"https://codeload.github.com/HeliumEdu/deploy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HeliumEdu%2Fdeploy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":281157489,"owners_count":26453248,"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-10-26T02:00:06.575Z","response_time":61,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","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":["aws","django","docker","education","heliumcli","python","terraform","ubuntu"],"created_at":"2024-11-09T09:22:48.168Z","updated_at":"2025-10-26T19:17:01.600Z","avatar_url":"https://github.com/HeliumEdu.png","language":"HCL","funding_links":["https://github.com/sponsors/alexdlaird","https://patreon.com/alexdlaird","https://www.paypal.me/alexdlaird"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"https://www.heliumedu.com/assets/img/logo_full_blue.png\" /\u003e\u003c/p\u003e\n\n![Python Versions](https://img.shields.io/badge/python-%203.12%20-blue)\n[![Build](https://img.shields.io/github/actions/workflow/status/HeliumEdu/deploy/build.yml)](https://github.com/HeliumEdu/deploy/actions/workflows/build.yml)\n![GitHub License](https://img.shields.io/github/license/heliumedu/deploy)\n\n# Helium Infrastructure\n\nThe deployment infastructure for [Helium Edu](https://www.heliumedu.com/).\n\nReleased container images are published to [Helium's AWS ECR](https://gallery.ecr.aws/heliumedu/).\n\n## Prerequisites\n\n- Docker\n- Python (\u003e= 3.12)\n- Terraform (\u003e= 1.9)\n- See [Deployment](#deployment) for others\n\n## Getting Started\n\nThis repository contains everything that is necessary for deployment and local development, including setting up a\nlocal machine to use [Docker](https://docs.docker.com/), and the [Terraform](https://app.terraform.io/app) necessary to\nprovision environments.\n\n## Development\n\n### Initialize `dev-local` Environment in Terraform\n\nFor more information on setting up a minimal (but fully functional) `dev-local` environment, see\n[the `dev-local` Terraform Workspace](https://github.com/HeliumEdu/deploy/tree/main/terraform/environments/dev-local#readme).\nThis is not necessary to develop locally with Docker, but certain features (like emails and text messages)\nwill not be available without this.\n\n### Docker Setup\n\nHere is a minimal set of commands that will get a Docker environment setup locally.\n\n```sh\ngit clone https://github.com/HeliumEdu/deploy.git helium\ncd helium\nmake\n```\n\nDone! The [`frontend`](https://github.com/HeliumEdu/frontend), [`platform`](https://github.com/HeliumEdu/platform), and\n[`cluster-tests`](https://github.com/HeliumEdu/cluster-tests) are now setup for you.\n\nIf `dev-local` was not provisioned, you'll want to set `PROJECT_DISABLE_EMAILS=True` and `PROJECT_DISABLE_TEXTS=True`\nin [`platforms'`s `.env` file](https://github.com/HeliumEdu/platform/blob/main/.env.docker.example) (and restart Docker\nwith `make restart`). Helium is now accessible at http://localhost:3000, and you should be able to register for an\naccount. Or have a look at [the `platform`'s README](https://github.com/HeliumEdu/platform?tab=readme-ov-file#docker-setup)\nfor steps to create a superuser with access to [the admin site](http://localhost:8000/admin).\n\nIn the future, this local Docker environment can quickly be brought up again simply by running:\n\n```\nmake start\n```\n\n#### Image Architecture\n\nBy default, deployable Docker images will be built for `linux/arm64`. To build native images on an `x86` architecture\ninstead, set `PLATFORM=amd64`.\n\n## Deployment\n\nUse [the Release action](https://github.com/HeliumEdu/deploy/actions/workflows/release.yml) to cut a release and publish container images to\n[AWS ECR](https://aws.amazon.com/ecr/). If a [Terraform Workspace](https://developer.hashicorp.com/terraform/cli/workspaces) has been provisioned\nand [hooks to this repo are setup](https://developer.hashicorp.com/terraform/cloud-docs/vcs), then bumping the\n[Image URI version variable in Terraform](https://github.com/HeliumEdu/deploy/blob/main/terraform/environments/prod/variables.tf#L1) will trigger a new deployment to this version when the Terraform applies.\n\n### Initialize `prod`-like Environment in Terraform\n\nFor more information on deploying a hosted, fully functional `prod`-like environment, see\n[the `prod` Terraform Workspace](https://github.com/HeliumEdu/deploy/tree/main/terraform/environments/prod#readme).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheliumedu%2Fdeploy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fheliumedu%2Fdeploy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fheliumedu%2Fdeploy/lists"}