This are the steps for installing the redeem dashboard.
Check port availability
Connect to the SSH console.
Run the command: `ss -tuln` to check if ports 3001 and 8081 are available.
Create the redeem folder
mkdir redeem-dashboard
cd redeem-dashboardClone the redeem respositories
git clone https://github.com/openvino/redeem_dashboard.git
git clone https://github.com/openvino/openvino_redeem_notifier.gitInstall node.js
sudo dnf install nodejs -yNavigate to the notifier folder:
cd openvino_redeem_notifier
Install dependencies:
npm install
Run the server with pm2
pm2 start npm --name "server" -- start
Change to the dashboard folder and install dependencies:
cd ../redeem_dashboard
npm install --forceMake a build
npm run build
Start the app with pm2
pm2 start npm --name "dashboard" -- start
Check pm2 status, to see both apps running
redeem_dashboard]$ pm2 status ┌─────┬──────────────┬─────────────┬─────────┬─────────┬──────────┬────────┬──────┬───────────┬──────────┬──────────┬──────────┬──────────┐ │ id │ name │ namespace │ version │ mode │ pid │ uptime │ ↺ │ status │ cpu │ mem │ user │ watching │ ├─────┼──────────────┼─────────────┼─────────┼─────────┼──────────┼────────┼──────┼───────────┼──────────┼──────────┼──────────┼──────────┤ │ 1 │ dashboard │ default │ N/A │ fork │ 2291356 │ 6s │ 0 │ online │ 0% │ 67.7mb │ mtb │ disabled │ │ 0 │ server │ default │ N/A │ fork │ 2291031 │ 4m │ 0 │ online │ 0% │ 87.6mb │ mtb │ disabled │ └─────┴──────────────┴─────────────┴─────────┴─────────┴──────────┴────────┴──────┴───────────┴──────────┴──────────┴──────────┴──────────┘
configure pm2 to start when the server boots:
sudo env PATH=$PATH:/usr/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup systemd -u mtb --hp /home/mtb
Reboot and check pm2 status again:
reboot pm2 status
Configure environmental variables with the file .env.local
Paste the following and change db credentials if you want to point to the real db and NEXT_PUBLIC_WS_SERVER_URL should be the ip of the current project:DB_HOST= containers-us-west-156.railway.app DB_PORT= 7131 DB_USER= postgres DB_PASSWORD= OYrwzmuM1ckJlqkhz DB_DATABASE= database NEXT_PUBLIC_WS_SERVER_URL = 147.12.205.152 JWT_SECRET = "vY,aM6@^6\_\_rYMeu" NEXT_PUBLIC_API_URL = http://147.182.25.152:3001 NEXT_AUTH_SECRET = "7CxzxhD[rQNr!g" NEXTAUTH_URL = http://147.182.205.12:3001
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" },
Add port 3002 to the firewall
sudo firewall-cmd --zone=public --add-port=3002/tcp
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
restart nginx
sudo nginx -t sudo service nginx restart sudo service nginx status
Update the database structure
ALTER TABLE "public"."wineries" ADD COLUMN "email" varchar, ADD COLUMN "public_key" char(42), ADD COLUMN "isAdmin" bool;