Installation on Digital Ocean - dsriseah/ursys GitHub Wiki
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.