Comment on page
Developer Setup
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.Run
git --version
in the terminal to check if git
has been installed correctly:$ git --version
git version 2.33.0
Run
java
in the terminal to check if java
has been installed correctly:$ java
Usage: java [-options] class [args...]
...
Run
node -v
in the terminal to check if node
has been installed correctly:$ node -v
v16.11.0
Run
docker -v
in terminal to check if docker
has been installed correctly:$ docker -v
Docker version 20.10.9, build c2ea9bc90b
Run
docker-compose -v
in terminal to check if docker-compose
has been installed correctly:$ docker-compose -v
Docker Compose version 2.0.1
Run the following in terminal to download the registry's source code:
$ git clone https://github.com/sunbird-rc/sunbird-rc-core.git sunbird-rc/core
Move into the folder by typing:
$ cd sunbird-rc/core
Run the
configure-dependencies.sh
script in the root of the repo as follows:$ sh configure-dependencies.sh
Then compile the registry (this will take some time when you are running it for the first time):
$ cd java
$ ./mvnw clean install -DskipTests
$ cd ..
This should create a JAR file in the
java/registry/target
folder.Create
_schemas/
folder in java/registry/src/main/resources/public/
Place all your schema files in the
java/registry/src/main/resources/public/_schemas/
folder.A sample set of schemas for a simple student-teacher registry can be found here. You can learn how to write your own schemas by following this guide.
$ curl https://raw.githubusercontent.com/sunbird-rc/sunbird-rc-core/main/tools/cli/src/templates/examples/student-teacher/docker-compose.yaml > docker-compose.yml
To download a minimal keycloak configuration, run the following:
$ curl https://raw.githubusercontent.com/sunbird-rc/sunbird-rc-core/main/tools/cli/src/templates/examples/student-teacher/imports/realm-export.json > imports/realm-export.json
Then start Keycloak (
kc
), Postgres (db
), Elastic Search (es
) and the Claims Service (cs
) by running the following command:$ docker-compose up kc db es cs
Before we can start the registry, we need to regenerate and retrieve the client secret for the
admin-api
client in Keycloak. To do that, follow these steps:- Go to http://localhost:8080/auth/admin/master/console/#/realms.
- Login using the username
admin
and passwordadmin
. - Click
Sunbird RC
. - Click
Clients
in the panel on the left. - Click
admin-api
. - Click the
Credentials
tab. - Under
Client Secret
, clickRegenerate Secret
. Copy the secret that you see in the box and paste it in thedocker-compose.yml
file in place ofINSERT_SECRET_HERE
on line 42.
Once you have completed all the above steps, run the registry using the following command:
$ java -jar java/registry/target/registry.jar