Skip to content

Latest commit

 

History

History
54 lines (33 loc) · 3.01 KB

prerequisites-for-your-own-sunbird-ed-instance.md

File metadata and controls

54 lines (33 loc) · 3.01 KB

Prerequisites for your own Sunbird ED Instance

Recommended Permissions and Experience

To successfully complete Sunbird installation, you need to have:

  • System administrator permissions on and all servers
  • Hands-on experience in administering and debugging Linux systems
  • Hands-on experience using Docker and Kubernetes to run containerized services

Note: Sunbird is tested only on cloud hosted Ubuntu servers. We do not provide any support for installing Sunbird on other operating systems.

Infra Requirements

  • Kubernetes Cluster with 4 worker nodes each of 4 Core 16 GB RAM
  • Total 6 VM's are required each of 4 Core 16 GB RAM
  • Private GitHub repository to store ansible inventory
  • Fully Qualified Domain Name (FQDN) with SSL
  • Object Storage
  • Docker hub account or Any docker registry
  • Public IP
  • Google OAuth Credentials

Steps to create: https://developers.google.com/workspace/guides/create-credentials#oauth-client-id

  • Google V3 ReCaptcha Credentials

Steps to create: Login to https://www.google.com/recaptcha/admin and create one for domain

  • Maxmind city database (free or paid)
  • A SMTP account (any email provider works, except Gmail for now)
  • All ports must be open for internal communication between the VM's/Servers provisioned for the installation

Note: If resources are isolated by subnets, then subnet-to-subnet communication needs to be enabled by security rules

  • Enable internet and outbound access from VMs.

Note: This is required to install dependent packages from the ubuntu package manager and other open source repositories

  • A sms service provider API Token (optional)

Note: This is required to get OTP's to registered email address when user register or reset

  • YouTube API Token (optional)

Note: This is required to upload video content directly using youtube URL

  • Slack account and slack bot with API Token (optional)

Provisioning Servers

Before you start the installation process, ensure that you have the required infrastructure mentioned above is provisioned. Every component in Sunbird can scale horizontally / vertically by adding additional resources. Please find the mapping between server and the application components below.

APPLICATION COMPONENTSERVER CONFIGCOUNT
Jenkins4core 16GB RAM 250G HDD1
KP4core 16GB RAM 60G HDD1
DP4core 16GB RAM 60G HDD1
DB4core 16GB RAM 60G HDD1
Learning4core 16GB RAM 60G HDD1
Druid4core 16GB RAM 60G HDD1
Basic Load BalancersLayer 42 (Optional)