Skip to content

Deployment

benloh edited this page Sep 8, 2025 · 5 revisions

Deploying to DigitalOcean

Deployment is not officially supported on DigitalOcean (for security reasons), but it is possible.

Deploying by hand: Deploying nc-multiplex to DigitalOcean

See Running nc-multiplex on DigitalOcean for instructions setting up a droplet by hand.

Deploying automatically: CI/CD via Terraform and Ansible

Note

Use this method if you need SSL support.

This manual setup process has been semi-automated. The "easiest" way to manage a fleet of Net.Create droplets is to use Terraform and Ansible.

See the following private repos for details on how to define and provision a fleet of DigitalOcean droplets with nc-multiplex and netcreate-itest.

  • Terraform Cloud Manager
  • Ansible Application Config

Updating netcreate-itest

In general, you should always use infrastructure.yaml edits to set/change branches and tags. But if for some reason you need to do a hotifx an individual droplet, you need to rebuild the app and restart graphs.

Warning

Updating the branch manually could potentially break your server the next time you do an infrastructure update due to the mismatch between the infrastructure definition and what is currently running on the droplet. USE CAUTION!

cd nc-multiplex/netcreate-itest
git fetch
git checkout <branch/tag>
git pull
npm ci
npm run package                 # CRITICAL STEP!  (also updates git info)
# stop all graphs

# Restart nc-multiplex
pm2 stop start-nc-multiplex-ssl.sh
pm2 start start-nc-multiplex-ssl.sh

# Re-open any graphs
Clone this wiki locally