Install Node.js LTS v14.X.X (https://nodejs.org/en/download/). nvm might be helpful. IMPORTANT: Make sure to install the necessary additional tools with it if asked!
install from https://cmake.org/download/
from admin shell:
npm install --vs2015 -g windows-build-tools
in case of errors, also see: https://www.npmjs.com/package/zeromq
https://developer.apple.com/download/more/
From a non-admin shell inside the ubii-node-master folder:
Create a copy of "config.json.template" called "config.json" and adjust settings to your needs (or keep as is). If you're not using web interfaces to connect to master node you probably want to set https->enabled to "false". Then run:
npm install
npm start
This can be skipped if you do not rely on HTTPS. To use HTTP instead, open config.json and set https.enabled = false.
- Install mkcert (https://github.com/FiloSottile/mkcert)
- Run
mkcert -install
, this will create root certificate files and set everything up for you to sign your own certificates When later trying to connect to the frontend from remote machines, you might need to import these root certificates in the remote machine browser under authorities. Otherwise the browser might regard any socket connection over HTTPS as unsafe, even if you add an exception. - Running
mkcert ubii.com "*.ubii.com" ubii.test localhost 127.0.0.1 <host-ip-address> ::1
will give you 2 .pem files - Copy .pem files to path-to-backend-folder/certificates
OR (under development)
- run script "createSelfsignedCertificates.js" with (multiple) options -n="<your domain name / IP>"
Alternatives:
- certbot (https://certbot.eff.org/)
- greenlock (https://www.npmjs.com/package/greenlock)
- In
config.json
set things up under "https" - enable by setting to "true"
- set paths to your certificates
- add IPs / URLs of allowed origins for CORS (usually the machine running your web frontend / other web clients) to your config.json
- localhost and local IPs are automatically added, if you want web communication from outside you need to configure it manually
- start the master node via "npm run start-profiling" (will run with additional command-line flags "--inspect")
- in Chrome browser, go to "about:inspect"
- click "Open dedicated DevTools for Node" or select your process from the remote target list
- Tab "Profiler" allows you to check CPU execution time
- Tab "Sources" allows you to set breakpoints and debug execution
- use the tools offered in the web-frontend: https://github.com/SandroWeber/ubii-web-frontend