Skip to content

Installation on Digital Ocean

DSri Seah edited this page May 20, 2024 · 1 revision

last tested on DO Ubuntu 23.10 x64 March 22, 2024

The URSYS Build Framework can run on a Digital Ocean (DO) Droplet of at least 1GB in size when using the command line directly through its console. You should create a distinct user for running the framework rather than run as root.

  • point spare domain to DO name servers (dsri.xyz)
  • create DO droplet running Ubuntu 23 on subdomain (nc.dsri.xyz)
  • login as root via DO console

If you want to use Visual Studio on the Droplet

You can directly connect to the Digital Ocean droplet through Visual Studio Code, but this requires at least 2GB of working memory by itself. While 2GB droplet will initially work, any editing or search operations will quickly overload it in testing. A 4GB droplet seems to be stable at the time of this writing, which has about 3GB of free space (as reported by free -h command) after the VSCode remote server starts up. These links at StackOverflow and DevTo helped with understanding memory allocation for Node JS.

Tip

Create the smallest possible droplet first with 25GB of disk, then resize CPU only to capacity. This keeps your flexibility in having either a minimum build for most things, resizing to the larger capacity later for on-server testing, then scaling down later.

Next update ubuntu and other housekeeping chores via the DO droplet console

sudo apt update
sudo apt upgrade

Note

The upgrade may prompt you on changing sshd.d to disallow root password logins. I accepted this since you can access DO through their console tool on the webpage Also, the allowed upgrading the kernel

Now we add a new sudo user so we don't run everything as root. In this example I'm using dsri as the username

adduser dsri
usermod -aG sudo dsri

Now logout and then login as the user by choosing ACCESS from the DO panel, and enter the username (not root). You may need to generate an SSH key if you haven't already (see below).

We'll now install nvm as the user. We'll grab the instructions from the nvm homepage (https://github.com/nvm-sh/nvm) for the curl line:

# go to home page for correct curl url (this one won't work)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/vX.XXX/install.sh | bash

# check what shell is active (/bin/bash is default, `echo $SHELL` tells you what it is)
source ~/.bashrc

# check versions of git and nvm
git --version
nvm --version 

Now you can git clone the repo and install it. This is an https:// link, not a ssh:// link so you don't have to have SSH keys registerd on GitHub for this DO server instance.

whoami             # make sure you're logged in as user, not root
cd dev             # or whatever your developer repo directory is
git clone https://github.com/dsriseah/ursys.git 
cd ursys
git checkout main  # or whatever branch
nvm install
npm ci

Now, try running the example

npm run example
# browse to reported URL

Now, try testing the ur examples

cd _ur
./ur net parse

Try graph and net start as well.

Note

The midi addon doesn't work because it requires localhost or a secure connection.

You'll need to create a secure shell (SSH) key pair to connect to the server.

Server Adminstration Stuff

To make URSYS running on a Digital Ocean Droplet accessible during development, there are a lot of other chores to set up such as https, remote access, etc. See Guide: Ubuntu Server Administration collected notes on the subject.