# Prerequisites for your own Sunbird ED Instance

#### Recommended Permissions and Experience <a href="#recommended-permissions-and-experience" id="recommended-permissions-and-experience"></a>

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 in Azure. We do not provide any support for installing Sunbird on other operating systems. Sunbird might work on other cloud providers, feel free to try it out and let us know. We are actively working on achieving cloud neutrality.

#### Infra Requirements <a href="#infra-requirements" id="infra-requirements"></a>

* Kubernetes Cluster with 4 worker nodes
* Private GitHub repository to store ansible inventory
* Fully Qualified Domain Name (FQDN) with SSL
* Azure Storage account
* Docker hub account
* Public IP
* Google Oauth Credentials
* Google V3 Recaptcha Credentials
* 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 (Azure Virtual Network or AWS VPC) between the VMs
* Internet and outbound access from VMs
* A sms service provider API Token (optional)
* YouTube API Token (optional)
* Slack account and slack bot with API Token (optional)

#### Provisioning Servers <a href="#provisioning-servers" id="provisioning-servers"></a>

Before you start the installation process, ensure that you have the required infrastructure mentioned below. It is the bare minimum for a full fledged Sunbird setup. Every component in Sunbird can scale horizontally / vertically by adding additional resources.

| APPLICATION          | SERVER             | COUNT        |
| -------------------- | ------------------ | ------------ |
| Jenkins              | 4core 16G 250G HDD | 1            |
| KP                   | 4core 16G 60G HDD  | 1            |
| DP                   | 4core 16G 60G HDD  | 1            |
| DB                   | 4core 16G 60G HDD  | 1            |
| Yarn                 | 4core 16G 60G HDD  | 1            |
| Other Services       | 4core 16G 60G HDD  | 1            |
| Basic Load Balancers | -                  | 2 (Optional) |


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ed.sunbird.org/older-versions/use/installing-ed-platform/release-5.0.0/prerequisites-for-your-own-sunbird-ed-instance.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
