{"id":18415229,"url":"https://github.com/bbrsofiane/openedx-server-aws","last_synced_at":"2026-05-01T16:35:48.003Z","repository":{"id":131797276,"uuid":"345129687","full_name":"BbrSofiane/openedx-server-aws","owner":"BbrSofiane","description":"A Pulumi script to deploy a single instance Open edX Server in AWS.","archived":false,"fork":false,"pushed_at":"2021-07-23T11:43:11.000Z","size":22,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-13T01:49:41.118Z","etag":null,"topics":["aws","openedx","pulumi","pulumi-aws"],"latest_commit_sha":null,"homepage":"","language":"Python","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/BbrSofiane.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":"2021-03-06T15:40:39.000Z","updated_at":"2021-12-19T13:33:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"91b8c5d6-045d-4efe-938f-a5032eccff34","html_url":"https://github.com/BbrSofiane/openedx-server-aws","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/BbrSofiane/openedx-server-aws","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BbrSofiane%2Fopenedx-server-aws","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BbrSofiane%2Fopenedx-server-aws/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BbrSofiane%2Fopenedx-server-aws/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BbrSofiane%2Fopenedx-server-aws/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/BbrSofiane","download_url":"https://codeload.github.com/BbrSofiane/openedx-server-aws/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/BbrSofiane%2Fopenedx-server-aws/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32505108,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"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","openedx","pulumi","pulumi-aws"],"created_at":"2024-11-06T03:53:30.421Z","updated_at":"2026-05-01T16:35:47.989Z","avatar_url":"https://github.com/BbrSofiane.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca href=\"https://gitmoji.dev\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/gitmoji-%20😜%20😍-FFDD67.svg?style=flat-square\" alt=\"Gitmoji\"\u003e\n\u003c/a\u003e\n\n# Open edX Instance Using Amazon EC2\n\n[![Deploy](https://get.pulumi.com/new/button.svg)](https://app.pulumi.com/new?template=https://github.com/BbrSofiane/openedx-server-aws)\n\nA Single instance Open edX Server in AWS.\n\nThe VM will be deployed in a public subnet of your default VPC.\n\n## Getting started\n\n### Prerequisites\n\n1. Register for [Ubuntu 20.04](https://aws.amazon.com/marketplace/pp/Canonical-Group-Limited-Ubuntu-2004-LTS-Focal/B087QQNGF1) offical image on AWS Marketplace\n1. [Install Pulumi](https://www.pulumi.com/docs/get-started/install/)\n1. [Configure Pulumi for AWS](https://www.pulumi.com/docs/intro/cloud-providers/aws/setup/)\n1. [Configure Pulumi for Python](https://www.pulumi.com/docs/intro/languages/python/)\n1. Create a virtualenv\n1. pip install -r requirements.txt\n\n### Deploying and running the program\n\nFirst, create a stack, using `pulumi stack init`.\n\n```\n$ pulumi stack init dev\n```\n\nNext, generate an OpenSSH keypair for use with your server - as per the AWS [Requirements][1]\n\n```\n$ ssh-keygen -t rsa -f rsa -b 4096 -m PEM\n```\n\nThis will output two files, `rsa` and `rsa.pub`, in the current directory. Be sure not to commit these files!\n\nWe then need to configure our stack so that the public key is used by our EC2 instance, and the private key used\nfor subsequent SCP and SSH steps that will configure our server after it is stood up.\n\n```\n$ cat rsa.pub | pulumi config set publicKey --\n$ cat rsa | pulumi config set privateKey --secret --\n```\n\nIf your key is protected by a passphrase, add that too:\n\n```\n$ pulumi config set privateKeyPassphrase --secret [yourPassphraseHere]\n```\n\nNotice that we've used `--secret` for both `privateKey` and `privateKeyPassphrase`. This ensures their are\nstored in encrypted form in the Pulumi secrets system.\n\nAlso set your desired AWS region:\n\n```\n$ pulumi config set aws:region eu-west-2\n```\n\nFrom there, you can run `pulumi up` and all resources will be provisioned and configured.\n\nThe installation script for Open edX can take up to 2 hours. In the meantime you can still connect to your instance.\n\n### Connect to your instance\n\nTo view the host name and IP address of the instance via `pulumi stack output`\n\n```\nCurrent stack outputs (2):\n    OUTPUT      VALUE\n    public_dns  your-instance-dns-name\n    public_ip   your-instance-ip-address\n```\n\nYou can use the ssh key to connect to your instance:\n\n```\n$ ssh -i rsa ubuntu@$(pulumi stack output public_ip)\n```\n\nIf you are using [Windows Subsystem for Linux (WSL)](https://docs.microsoft.com/en-us/windows/wsl/install-win10) you will need to:\n\n1. Copy the private into .pem: `cp rsa rsa.pem`\n1. [Change permissions](https://superuser.com/a/1296046) on `rsa.pem`.\n\n### Clean up\n\nTo clean up resources, run pulumi destroy and answer the confirmation question at the prompt.\n\n[1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html#how-to-generate-your-own-key-and-import-it-to-aws\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbbrsofiane%2Fopenedx-server-aws","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbbrsofiane%2Fopenedx-server-aws","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbbrsofiane%2Fopenedx-server-aws/lists"}