Installing the ferment.openvino.org Dashboard

These are the steps for installing the redeem dashboard.

  1. Check port availability

    1. Connect to the SSH console.

    2. Run the command: `ss -tuln` to check if ports 3001 and 8081 are available.

  2. Create the redeem folder
    mkdir redeem-dashboard
    cd redeem-dashboard

  3. Clone the redeem respositories
    git clone https://github.com/openvino/redeem_dashboard.git
    git clone https://github.com/openvino/openvino_redeem_notifier.git

  4. Install node.js
    sudo dnf install nodejs -y

  5. Navigate to the notifier folder:
    cd openvino_redeem_notifier

  6. Install dependencies:
    npm install

  7. Test run the server
    npm start

  8. Change to the dashboard folder and install dependencies:
    cd ../redeem_dashboard
    npm install --force

  9. Make a build
    npm run build

  10. Test start the app
    npm start

  11. Edit the package.json file to reflect the correct ports:

    "scripts": { "dev": "next dev --port 3002", "build": "next build", "start": "next start --port 3002", "lint": "next lint" },
  12. Add port 3002 to the firewall

    sudo firewall-cmd --zone=public --add-port=3002/tcp
  13. Configure nginx

    cd /etc/nginx/sites-available vi ferment.openvino.org.conf server { server_name ferment.openvino.org; # maintain the .well-known directory alias for renewals location /.well-known { alias /usr/share/nginx/html/ferment.openvino.org/.well-known; } location /{ proxy_pass http://64.225.10.229:3002; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } listen 443 ssl; # managed by Certbot ssl_certificate /etc/letsencrypt/live/ferment.openvino.org/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/ferment.openvino.org/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot add_header Strict-Transport-Security "max-age=31536000" always; # managed by Certbot ssl_trusted_certificate /etc/letsencrypt/live/ferment.openvino.org/chain.pem; # managed by Certbot ssl_stapling on; # managed by Certbot ssl_stapling_verify on; # managed by Certbot } server { if ($host = ferment.openvino.org) { return 301 https://$host$request_uri; } # managed by Certbot server_name ferment.openvino.org; # maintain the .well-known directory alias for renewals location /.well-known { alias /usr/share/nginx/html/ferment.openvino.org/.well-known; } location /{ proxy_pass http://64.225.10.229:3002; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } listen 80; # managed by Certbot cd sites-enabled sudo ln -s /etc/nginx/sites-available/sites /etc/nginx/sites-enabled/sites
  14. restart nginx

  15. Update the database structure

  16. Create the ferment user

  17. Edit /etc/systemd/system/ferment.service

  18. Configure systemd to automatically start the ferment dashboard on boot:

  19. Edit /etc/systemd/system/ferment_notifier.service

  20. Configure systemd to automatically start the ferment_notifier on boot:

  21. Check the systemd status