Skip to content

01 Installation Bare Metal

AsaTyr2018 edited this page Feb 23, 2026 · 9 revisions

Installation (Bare Metal)

Target Environment

  • Linux (Debian/Ubuntu LTS recommended)
  • systemd
  • No Docker required for current release line

See Prerequisites for runtime vs build-time dependency details.

Default Paths

  • Binary: /usr/bin/domnexdomain
  • Config: /etc/domnexdomain/
  • Database/state: /var/lib/domnexdomain/
  • Logs: /var/log/domnexdomain/

Recommended install method

For easiest onboarding (including build dependencies), use:

  • deploy/systemd/setup-appliance.sh

This helper installs required build tooling (Go + Node.js), builds DomNexDomain, then installs the service.

Advanced/manual path:

  • deploy/systemd/install-baremetal.sh

Important: the script installs a prebuilt binary. It does not compile Go/Node sources.

Script responsibilities:

  1. create service user and runtime directories
  2. install binary and service unit
  3. install environment template
  4. enable/restart service
  5. print first setup hint (including OTS log line when available)

Important .env variables

  • DOMNEX_HTTP_ADDR (typically :80)
  • DOMNEX_HTTPS_ADDR (typically :443)
  • DOMNEX_ADMIN_BIND (for example 0.0.0.0:8443)
  • DOMNEX_ADMIN_ALLOWED_CIDRS (optional fallback baseline; primary admin IP policy is configured per user in Web UI)
  • DOMNEX_BOOTSTRAP_PASSWORD (optional)

Bootstrap password behavior

  • If DOMNEX_BOOTSTRAP_PASSWORD is set, classic bootstrap login mode can be used.
  • If it is empty, DomNexDomain starts in setup-assistant mode (recommended).

Verify installation

  • systemctl status domnexdomain
  • journalctl -u domnexdomain -n 100 --no-pager
  • Admin endpoint is reachable
  • For fresh install: setup assistant appears and can be unlocked with OTS

GeoIP Sources and Compiler (Recommended)

DomNexDomain uses a GeoIP source-pool plus a compiled Source-of-Truth database.

  • Upload pool directory: /var/lib/domnexdomain/geoip-sources
  • Compiled Source-of-Truth: /var/lib/domnexdomain/geoip-compiled/domnex-country.mmdb
  • Supported upload formats (Web UI): .mmdb, .csv, .mmdb.gz, .csv.gz, .zip
  • ZIP rule: archive must contain exactly one .mmdb or .csv

Compiler behavior:

  • compile on service start
  • compile after source upload
  • hourly check for source changes
  • nightly force compile

Use Settings -> GeoIP Sources for:

  • source upload
  • source index
  • compile and dataset statistics
  • upload progress feedback

Free dataset providers:

  • https://download.ip2location.com/lite/
  • https://db-ip.com/db/download/ip-to-country-lite

Legacy/manual fallback remains available:

  • DOMNEX_GEOIP_MMDBS=/path/a.mmdb,/path/b.mmdb
  • DOMNEX_GEOIP_MMDB=/path/to/primary.mmdb

Clone this wiki locally