-
Notifications
You must be signed in to change notification settings - Fork 1
Deploying PeBL Services
- nodejs 13.14.0+
- npm 6.14.0+
- Redis 5.0.8+
- xAPI compliant LRS 1.0.3
- OpenID Connect Identity Management 1.0
- PeBL Web Reader QA_1.2.25+
- SSL certificates for PeBL Services
- Domain name for PeBL Services
- Domain name for PeBL Web Reader which will use PeBL Services
- Redis must use an auth password
-
If you haven't done so already, download the latest stable version of the PeBL Services from: https://github.com/peblproject/PeBL-Services/releases/latest/download/PeBLServices.zip
-
Install and configure Redis which will be used as a session cache and message queue for PeBL Services.
-
Set up an OpenID Connect 1.0 provider if not already available.
-
Extract the contents of PeBLServices.zip to the desired location on your server.
-
Edit the serverConfig.json file and update the values marked as CHANGEME.
-
Run
npm install --only=production
in the directory where you unpackaged the zip file to install necessary dependencies for the NodeJS server. -
Start the PeBL Services NodeJS server. The command is
node main.js serverConfig.json
, but it is recommended to use a process manager like systemd or PM2 to handle this so that the process will be restarted automatically when necessary.
serverName - This is the URL your PeBL Services server is available at, e.g "myservices.com"
validRedirectDomains - These are domains that the PeBL Services will allow redirects to, for example your PeBL WebReader server, e.g ["myreader.com"]
privateKeyPath - This is the filepath for your SSL certificate private key, e.g "/etc/letsencrypt/live/myservices.com/privkey.pem"
certificatePath - This is the filepath for your SSL certificate, e.g "/etc/letsencrypt/live/myservices.com/fullchain.pem"
authenticationUrl - This is the URL for your OpenID Connect provider, e.g "https://keycloak.myservices.com/auth/realms/master"
authenticationClientSecret - This is the secret key that allows PeBL Services to communicate with your OpenID Connect provider.
authenticationClientId - This is the ID for PeBL Services in your OpenID Connect provider, e.g "PeBL-Services"
authenticationRedirectURIs - This should be your serverName + /redirect, e.g ["myservices.com/redirect"]
redisAuth - This is the password for your Redis DB.
sessionSecret - A long key of your choosing which will be used to secure sessions.
logFileDirectory - A path to a directory on your server where log files should be saved, e.g "/var/log/pebl-services/"
lrsUrl - The URL for your LRS where xAPI statements will be stored, e.g "mylrs.com"
Authorization - The secret key for your LRS which will permit PeBL Services to store xAPI statements to it.
systemAdmins - These are users within your OpenID Connect provider which should be given system admin permissions in PeBL Services, e.g ["john.smith", "jane.doe"]