Skip to content

24 Prerequisites

AsaTyr2018 edited this page Feb 22, 2026 · 2 revisions

Prerequisites

This page separates runtime requirements from build-time requirements.

Runtime (production host)

Required:

  • Linux (Debian/Ubuntu LTS recommended)
  • systemd
  • Root/sudo access for install steps
  • Network/port forwarding according to your setup (80, 443, optional 2222 for SSH Bastion)

Not required at runtime:

  • Node.js
  • Go toolchain
  • Mono

DomNexDomain runs as a single prebuilt binary and serves the UI as static assets from that binary.

Build-time (only if you build from source)

Required:

  • Go toolchain (matching project go.mod)
  • Node.js + npm (for UI build pipeline)

Typical source build flow:

# from /DomNex
npm --prefix ui run build
go build -o build/domnexdomain ./cmd/domnexdomain

Then install with:

sudo ./deploy/systemd/install-baremetal.sh ./build/domnexdomain

One-command appliance setup (recommended for non-technical operators)

DomNexDomain includes an appliance helper script that can install build dependencies, compile the project, and install the service in one flow:

sudo ./deploy/systemd/setup-appliance.sh

This script currently targets Debian/Ubuntu (apt-get) and performs:

  1. base package install
  2. Node.js/npm install/upgrade (if needed)
  3. Go toolchain install/upgrade (matching go.mod requirement)
  4. UI + backend build
  5. systemd install/restart via install-baremetal.sh

What install-baremetal.sh does

deploy/systemd/install-baremetal.sh:

  1. creates service user/directories
  2. installs binary to /usr/bin/domnexdomain
  3. installs env template and systemd unit
  4. enables/restarts service
  5. prints setup hint/OTS log line when available

It does not compile Go/Node sources by itself.

Clone this wiki locally