Manual installation through docker-compose

The following steps will install SunbirdRC via docker compose file

System requirements

  • 4 Cores

  • 8 GB RAM

  • Min 100 GB disk

Prerequisites

This guide assumes a some familiarity with basic linux commands. If not, here is a great place to start.

Don't copy-paste the $ signs, they indicate that what follows is a terminal command

Terminal emulator

Linux and MacOS will have a terminal installed already. For Windows, it is recommended that you use git-bash, which you can install from here.

Type echo Hi in the terminal once it is installed. If installed correctly, you should see Hi appear when you hit enter.

Docker

Installation instructions for Docker can be found here.

Run docker -v in terminal to check if docker has been installed correctly:

$ docker -v
Docker version 20.10.9, build c2ea9bc90b

Docker Compose

Installation instructions can be found here.

Run docker compose version in the terminal to check if docker compose has been installed correctly:

$ docker compose version
Docker Compose version 2.0.1

Installation

ENVValueDescription

RELEASE_VERSION

v0.0.14

Use the latest release version of SunbirdRC. https://github.com/Sunbird-RC/sunbird-rc-core/releases

SCHEMA_DIR

schemas

Relative path to the directory where schemas are created

  • Create the schema files in the schemas directory

  • Create a directory imports

  • Download the keycloak realm file in imports directory

  • Download the sample signing key file in imports directory. Please note to update the signing keys before going to production.

  • Steps to setup keycloak:

    • Start the database container

    docker-compose up -d db

    • Start the keycloak container

    docker-compose up -d keycloak

    • Open the keycloak admin console `http://localhost:8080/auth/`

    • Goto Clients -> admin-api -> Credentials

    • Click on Regenerate Secret and copy the new value

  • Set KEYCLOAK_SECRET with the copied value in .env file

  • Start all the services, docker-compose up -d

  • Check if all the services are started using docker-compose ps

  • Access the registry swagger json `http://localhost:8081/api/docs/swagger.json`\

Last updated