unsupported: Linode Setup - theRAPTLab/gsgo GitHub Wiki

Trying a different service: Linode, which has been around for a while. The cost is comparable to Digital Ocean.

Created 2021-0428 Based on Digital Ocean Instructions

Create a Linode in Cloud Manager

distibution:   Ubuntu 20.04 LTS
region:        Dallas, TX (closest to IU/VU)
linode plan:   Nanode 1GB $5/mo 1GB 1CPU 25GB Shared
ssh key:       add an existing public key
extras:        check PRIVATE IP

Linode_Control_Panel

Install Repo

git clone https://gitlab.com/stepsys/gem-step/gsgo.git
cd gsgo
git checkout dev

Install Tools

Install asdf to manage Node Use asdf to install node

Open Ports

Linode Instructions. We'll install ufw

ufw enable
ufw allow from 50.78.100.230 to any port 22
ufw allow 80
ufw allow 2525/tcp
ufw allow 2929/tcp
ufw allow 2930/tcp
ufw allow 3030/tcp

Use ufw status to check your settings.

Init and Start

npm ci
npm run bootstrap
npm start

Keeping GEM-STEP rRunning

Create a script gem-start.sh:

#!/bin/bash

echo "Starting GEM-STEP..."
npm run gem

Make it executable

chmod u+x gem-start.sh

Start it up with pm2 and set it load on reboot

npm install pm2@latest -g
pm2 start gem-start.sh
pm2 startup systemd
pm2 save

Helpful commands:

pm2 status -- Lists status of programs
pm2 reload do-start.sh
pm2 reload all

Make sure it's running

reboot
systemctl status pm2-root

Updates

The do-start.sh script only runs npm run gem. So if you update the code, make sure you do all necessary cleaning/installing, e.g.

npm ci
npm run bootstrap
pm2 reload all
⚠️ **GitHub.com Fallback** ⚠️