Manual Deployment

Guide for deploying NCN Network manually on servers without containers.


Prerequisites

  • Linux server (Ubuntu 22.04 LTS recommended)

  • Root or sudo access

  • Network access between servers


System Preparation

Install Dependencies

# Update system
sudo apt update && sudo apt upgrade -y

# Install build dependencies
sudo apt install -y \
  build-essential \
  pkg-config \
  libssl-dev \
  protobuf-compiler \
  git \
  curl

# Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source $HOME/.cargo/env

Install Python (for Compute Node)


Build Binaries


Configure Services

Create Configuration Directory

P2P Registry Configuration

Create /opt/ncn/config/registry.env:

Gateway Configuration

Create /opt/ncn/config/gateway.env:

Compute Node Configuration

Create /opt/ncn/config/compute.env:


Create Systemd Services

P2P Registry Service

Create /etc/systemd/system/ncn-registry.service:

Gateway Service

Create /etc/systemd/system/ncn-gateway.service:

Compute Node Service

Create /etc/systemd/system/ncn-compute.service:


Create Service User


Start Services


Firewall Configuration


Log Management

View Logs

Log Rotation

Create /etc/logrotate.d/ncn:


Health Checks

Check Services


Updating


Troubleshooting

Service Won't Start

Connection Issues


Next Steps

Last updated