Pre-requisites
Recommended Permissions and Experience
To successfully complete Sunbird ED 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 containerised 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[1.27.x] with 5 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 with CORS enabled
Container registry - Docker Hub, Amazon ECR, Azure ACR etc.
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)
Email service provider
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
MSG91 sms service provider API Token (optional)
Note: This is required to get OTP's to registered phone number 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 for monitoring alerts (optional)
Provisioning Servers
Before you start the installation process, ensure that you have the required infrastructure mentioned above is provisioned. Every component in SunbirdEd can scale horizontally / vertically by adding additional resources. Please find the mapping between server and the application components below.
APPLICATION COMPONENT | SERVER CONFIG | COUNT |
---|---|---|
Jenkins | 4core 16GB RAM 250G HDD | 1 |
KP | 4core 16GB RAM 60G HDD | 1 |
DP | 4core 16GB RAM 60G HDD | 1 |
DB | 4core 16GB RAM 60G HDD | 1 |
Learning | 4core 16GB RAM 60G HDD | 1 |
Druid | 4core 16GB RAM 60G HDD | 1 |
Basic Load Balancers | Layer 4 | 2 (Optional) |
Last updated