Administer and install
Audience: the person who installs and operates Netxus for your Organization. This guide starts after the installation exists: its security roots, database and first Protected Administrator were created with the installation instructions supplied with your release, which take precedence over this summary. It covers configuration in the interface, restart rules, go-live checks and deployment without a cloud provider.
Configure the platform in the interface#
Sign in as the Protected Administrator. None of these settings needs a restart.
- Users, Groups and Roles (Administration): delegated Group Access Managers can assign only non-administrative Roles.
- Connector hosts (Administration → Connector hosts): approve the vCenter and Kea hosts that connectors may call.
- Connector secrets: enter each password or secret in the write-only Secret field under Hosting → Sync connectors and Network → IPAM → DHCP & DNS sync, and enter the HTTPS target secret under Administration → Audit export. A stored secret is never shown again; the page shows only "Stored, updated" with a time and User, "Environment variable" or "Not set". If the connection details change, enter the secret again.
- SNMP credentials (Facilities → Sensors → SNMP credentials): add v2c or v3 credentials, each bound to a Group, its allowed addresses and an SNMP version. You need Facilities layout management in the Group.
- Exchange-rate feed (Financial administration → Rate proposals → Configure): enable it per Group.
- SCIM (Administration → SCIM provisioning): create a connection, then link the existing Groups the identity provider should manage.
Environment-variable alternatives remain available for connector secrets, connector hosts, network sync and SNMP credentials: NETXUS_CONNECTOR_SECRET_*, NETXUS_HOSTING_SYNC_ALLOWED_HOSTS, NETXUS_NETWORK_SYNC_* and NETXUS_SNMP_CREDENTIALS_FILE.
Know which settings need a restart#
| Setting group | Restart |
|---|---|
| Security roots, database URL, object store, ports, origins | The process that reads them |
NETXUS_DATABASE_POOL_SIZE, NETXUS_DATABASE_STATEMENT_TIMEOUT_MS | API and worker |
NETXUS_WEB_FORWARD_SECRET | API and web, and reload the front proxy |
NETXUS_TRUSTED_PROXY_CIDRS | API |
NETXUS_RETENTION_*, NETXUS_DEVICE_ICON_SWEEP, NETXUS_WORKER_ROLE, NETXUS_PROBE_LOCATION | Worker |
| Connector hosts, connector secrets, SNMP credentials, exchange-rate feed (set in the interface) | None |
Contents of the file named by NETXUS_SNMP_CREDENTIALS_FILE | None; it is re-read on every pass |
Check before going live#
- Backups: follow the backup and restore drill in the instructions issued with your release (contact support@netxussolution.com if you do not have them), and record the recovery point and recovery time you achieved.
- Monitoring: scrape
/metrics. SetNETXUS_METRICS_TOKEN_SHA256to the SHA-256 of a random token and send that token as a bearer token. Alert on/health/ready?strict=1. - Object store: use a versioned bucket. Add lifecycle rules that expire noncurrent versions after your restore window and abort incomplete uploads. Grant the worker
s3:ListBucket,s3:ListBucketVersions,s3:DeleteObjectands3:DeleteObjectVersionfor the clean-up jobs for device icons and abandoned uploads. - Kubernetes: set
NETXUS_TRUSTED_PROXY_CIDRSto the ingress controller's pod CIDR so rate limits apply per visitor. - Front proxy: a proxy in front of the web server must set
X-Forwarded-Forwith$proxy_add_x_forwarded_foror$remote_addr. The API trusts the right-most address, so a proxy that passes the header through lets clients forge addresses. - Sign-in lock and IPv6: rate-limit addresses are grouped per IPv6 /64, so the holder of a /48 can repeatedly lock a known username through the cross-address lock (50 failures in 15 minutes). A Protected Administrator clears the lock with Clear sign-in lock.
- KMS master key: the default is a local key. You can instead use an HTTPS envelope service over mutual TLS, or the
pkcs11-cliprovider, which unwraps the master key with an RSA key held in a PKCS#11 hardware security module through OpenSCpkcs11-tool. Wrap an existing key withnpm --workspace @netxus/server run kms-wrap-master-key -- --provider pkcs11-cli(orhttps-envelope) and check the configured provider withnpm --workspace @netxus/server run kms-verify-provider. The HSM token must support RSA-OAEP with SHA-256; a token that cannot (SoftHSM2 2.7, for example) needsNETXUS_KMS_PKCS11_OAEP_HASH=sha1, and you must re-wrap the master key after changing it. Test with your HSM before production.
Deploy on-premises without a cloud provider#
Netxus does not need AWS. "S3" means the S3 API, served on the same host by SeaweedFS: the installer and the Compose profiles start it pinned and with versioning enabled. SeaweedFS supports what Netxus uses: bucket versioning, presigned upload and download, checksum-bound uploads with mismatches rejected, version IDs, and listing, reading and deleting specific versions. It also accepts a lifecycle rule, but Netxus does not rely on lifecycle expiry there and prunes old object versions itself.
| Host | Path |
|---|---|
| Ubuntu 24.04 | The Linux installer, linux-initial-setup.sh, using Docker Compose. |
| Oracle Linux 9, RHEL 9, Rocky 9, AlmaLinux 9 | The same installer. With --execute it installs Docker Engine from Docker's RHEL repository and removes a conflicting Podman or runc; it refuses if Podman containers exist unless you pass --replace-podman. It keeps SELinux enforcing and makes no firewall changes: published ports bind to 127.0.0.1 behind your TLS proxy. Checked with dry runs in containers; run a full install on a test machine before production. |
| Amazon Linux 2023 | The same installer. |
| Cloud service | On-premises replacement |
|---|---|
| S3 bucket | SeaweedFS on the same host (default), or an enterprise S3-compatible appliance that supports bucket versioning, presigned URLs, ListObjectVersions and checksum uploads. Contact support@netxussolution.com for the compatibility checks to run against it before use. Avoid MinIO (licence and distribution changes) and Garage (no object versioning). |
| Old-version clean-up (lifecycle rules) | Built in: the worker deletes object versions and delete markers that have been noncurrent for longer than NETXUS_OBJECT_NONCURRENT_RETENTION_DAYS (default 35). It never deletes current versions or any version a record still references. Keep it at least as long as your restore window. |
| Off-site backups | A daily systemd timer runs the signed backup, verifies it, keeps the last N and optionally copies it to a NAS or second disk. You manage retention on that copy target. |
| Email and alerts | Your mail relay through NETXUS_SMTP_*. Alerts come from your own monitoring scraping /metrics and /health/ready?strict=1. |
| Public certificates | Let's Encrypt if the host is reachable from the internet, otherwise your internal CA. |
Run without internet access#
- Container images: on a connected machine, pull the third-party images, which are pinned by digest: PostgreSQL, SeaweedFS, ClamAV and Mailpit. Build the Netxus images (api, worker, web, migrate, init); that build needs npm, Debian and PostgreSQL package-repository access. Save everything into one archive, copy it across and load it on the target.
- Virus signatures: the ClamAV container normally updates itself over the internet. Offline, run a private signature mirror on a connected machine, copy the signature files across on a schedule and serve them to the scanner. Check how your pinned ClamAV image loads signatures before going live. Uploads stay pending until the scanner answers.
- Time: run
chronyagainst an internal NTP source. Sessions, leases and TOTP codes depend on a correct clock. - Features that need outbound access can be left unconfigured offline: the ECB exchange-rate feed, AWS and Azure Hosting connectors, an external identity provider (OIDC or SCIM), an external SIEM and Let's Encrypt. Online licence verification also needs outbound access: the installation must verify its licence regularly (seven-day freshness, then a fourteen-day grace period; see the Core guide), so contact support@netxussolution.com before an air-gapped deployment. Local-network features such as vCenter and Kea on your own network and SNMP polling do not need internet access.
Boundaries: this guide summarizes configuration, not a complete installation or recovery runbook. Backup custody, security roots and database recovery follow the instructions issued with your release.