/
Installing the ferment.openvino.org Dashboard

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

    sudo nginx -t sudo service nginx restart sudo service nginx status
  15. Update the database structure

    ALTER TABLE "public"."wineries" ADD COLUMN "email" varchar, ADD COLUMN "public_key" char(42), ADD COLUMN "isAdmin" bool;
  16. Create the ferment user

    groupadd -g 2224 ferment useradd -u 2224 -g 2224 -s /sbin/nologin ferment chown -R ferment:ferment /var/bloock/ferment
  17. Edit /etc/systemd/system/ferment.service

    [Unit] Description=OpenVino Ferment dashboard After=network.target [Service] User=root WorkingDirectory=/var/bloock/ferment/redeem_dashboard ExecStart=/usr/bin/npm start Restart=always RestartSec=500ms StartLimitInterval=0 [Install] WantedBy=multi-user.target
  18. Configure systemd to automatically start the ferment dashboard on boot:

    systemctl daemon-reload systemctl enable ferment systemctl start ferment
  19. Edit /etc/systemd/system/ferment_notifier.service

    [Unit] Description=OpenVino Ferment dashboard notifier After=network.target [Service] User=ferment WorkingDirectory=/var/bloock/ferment/openvino_redeem_notifier ExecStart=/usr/bin/npm start Restart=always RestartSec=500ms StartLimitInterval=0 [Install] WantedBy=multi-user.target
  20. Configure systemd to automatically start the ferment_notifier on boot:

    systemctl daemon-reload systemctl enable ferment systemctl start ferment
  21. Check the systemd status

    # systemctl status ferment ● ferment.service - OpenVino Ferment dashboard Loaded: loaded (/etc/systemd/system/ferment.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2023-09-07 13:52:19 UTC; 41s ago Main PID: 726201 (npm start) Tasks: 40 (limit: 49224) Memory: 163.1M CGroup: /system.slice/ferment.service ├─726201 npm start ├─726212 node /var/bloock/ferment/redeem_dashboard/node_modules/.bin/next start --port 3002 ├─726223 /usr/bin/node /var/bloock/ferment/redeem_dashboard/node_modules/next/dist/compiled/jest-worker/pro> └─726234 /usr/bin/node /var/bloock/ferment/redeem_dashboard/node_modules/next/dist/compiled/jest-worker/pro> Sep 07 13:52:19 sierra systemd[1]: Started OpenVino Ferment dashboard. Sep 07 13:52:20 sierra npm[726201]: > openvino-dashboard@0.1.0 start Sep 07 13:52:20 sierra npm[726201]: > next start --port 3002 Sep 07 13:52:20 sierra npm[726212]: - ready started server on 0.0.0.0:3002, url: http://localhost:3002 Sep 07 13:52:20 sierra npm[726212]: - info Loaded env from /var/bloock/ferment/redeem_dashboard/.env.local systemctl status ferment_notifier ● ferment_notifier.service - OpenVino Ferment dashboard notifier Loaded: loaded (/etc/systemd/system/ferment_notifier.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2023-09-07 18:03:20 UTC; 8s ago Main PID: 729758 (npm start) Tasks: 18 (limit: 49224) Memory: 46.5M CGroup: /system.slice/ferment_notifier.service ├─729758 npm start └─729769 node server.js Sep 07 18:03:20 sierra systemd[1]: Started OpenVino Ferment dashboard notifier. Sep 07 18:03:20 sierra npm[729758]: > server@1.0.0 start Sep 07 18:03:20 sierra npm[729758]: > node server.js Sep 07 18:03:20 sierra npm[729769]: Express server listening on port 8081

 

Related content