Skip to content

sanketika-labs/sunbird-ed-installer-cts

 
 

Repository files navigation

Sunbird-ED Installer

Minimum resources required to install and run Sunbird-ED on any cloud provider

  • vCPUs: 48
  • RAM: 192 GB

Installing Sunbird on Any Cloud Provider

Pre-requisites

  1. Domain Name
  2. SSL Certificate: The FullChain, consisting of the private key and Certificate+CA_Bundle, is mandatory for installation.
  3. Google OAuth Credentials: Create credentials
  4. Google V3 ReCaptcha Credentials: Create credentials
  5. Email Service Provider
  6. MSG91 SMS Service Provider API Token (Optional): Required for sending OTPs to registered email addresses during user registration or password reset.
  7. YouTube API Token (Optional): Necessary for uploading video content directly via YouTube URL.

Required CLI Tools

  1. jq
  2. yq (for YAML processing)
  3. rclone
  4. Terraform
  5. Terragrunt
  6. Linux / MacOS / GitBash (Windows)
  7. Python 3
  8. PyJWT Python Package (install via pip)
  9. kubectl
  10. helm
  11. Postman CLI
  12. For cloud-specific tools, follow the instructions in the respective README file based on your provider.
    Example for Azure: terraform/azure/README.md

Notes

  • Existing files in the following locations will be backed up with a .bak extension, and the files will be overwritten:
    • ~/.config/rclone/rclone.conf
    • ~/.kube/config
  • In the instructions below, demo is used as the environment name. You can replace it with your desired environment name, such as dev, stage, etc.

Steps to Clone and Prepare

  1. Clone the repository:a

    git clone https://github.com/project-sunbird/sunbird-ed-installer.git
  2. Copy the template directory:

    cd terraform/<cloud-provider>   # Replace <cloud-provider> with your cloud provider (e.g., azure, aws, gcp)
    cp -r template demo
    cd demo
  3. Fill in the variables in demo/global-values.yaml. take reference from [terraform/azure/README.md]

  4. Log in to your cloud provider:

    # If  cloud provider is Azure
    az login --tenant AZURE_TENANT_ID
    
    # If cloud provider is AWS
    aws configure
    
    # If cloud provider is GCP
    gcloud auth login
  5. Run the installation script:

    time ./install.sh

Default Users in the Instance

This installation setup creates the following default users with different roles. You can update the passwords using the "Forgot Password" option or create new users using APIs.

Role Email/User Name Password
Admin [email protected] Admin@123
Content Creator [email protected] Creator@123
Content Reviewer [email protected] Reviewer@123
Book Creator [email protected] Bookcreator@123
Book Reviewer [email protected] BookReviewer@123
Public User 1 [email protected] User1@123
Public User 2 [email protected] User2@123

Destorying the sunbird instance

cd terraform/<cloud-provider>/<env>
time ./install.sh destroy_tf_resources

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • JavaScript 43.2%
  • HTML 26.9%
  • CSS 7.7%
  • Open Policy Agent 6.0%
  • Go Template 3.5%
  • FreeMarker 3.5%
  • Other 9.2%