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
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
git clone https://gitlab.com/stepsys/gem-step/gsgo.git
cd gsgo
git checkout dev
Install asdf to manage Node Use asdf to install node
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.
npm ci
npm run bootstrap
npm start
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
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