- Ensure you have mvn locally installed for building the backend
- Ensure you have angular and npm locally installed for building the UI
- Clone this repo and update submodule
git submodule update --init --recursive
git pull --recurse-submodules
- Build the image
docker build ./
-
Modify the configuration options in
./config/vocserver.json
. This will need jks files for server TLS. -
Ensure
CONFIG_SERVER_ID
is a valid server ID conforming with IUDX. -
Modify src/app/appSettings.ts and add appropriate BASE_URL corresponding to your domain name.
-
Install ui dependencies and build
cd ui/
npm install
ng build --deploy-url /static/
-
Turn on the mongodb docker For local
docker-compose up -d db-local
or For productiondocker-compose up -d db
-
From the project root folder For local
mvn clean package -Dmaven.test.skip=true && java -jar target/vocserver-1.0-fat.jar -conf config/vocserver.json
For productionmvn clean package -Dmaven.test.skip=true && docker-compose up -d server
- Obtain PEM from certbot
sudo certbot certonly --manual --preferred-challenges dns -d demo.example.com
- Concat all pems into one file
sudo cat /etc/letsencrypt/life/demo.example.com/*.pem > fullcert.pem
- Convert to pkcs format
openssl pkcs12 -export -out fullcert.pkcs12 -in fullcert.pem
- Create new temporary keystore using JDK keytool, will prompt for password
keytool -genkey -keyalg RSA -alias vockeystore -keystore vockeystore.ks
keytool -delete -alias vockeystore -keystore vockeystore.ks
- Make JKS, will prompt for password
keytool -v -importkeystore -srckeystore fullcert.pkcs12 -destkeystore vockeystore.ks -deststoretype JKS
- Store JKS in config directory and edit the keyfile name and password entered in previous step
- Ensure a JKS per the above procedure is made for IUDX Resource Server Certificates (Class 1)
- Ensure a Provider (Class 3 certificate) has given you access to /*
- Request for a token using the auth server token request api using your class 2 certificate
- Use token as a header field "token": ""