Installation errors
The installer stops at the first fatal problem and prints a red line starting with ✗. Fix the cause and run the same command again — the installer is safe to repeat. Informational lines start with •, successful steps with ✓.
Machine checks
| Message | Cause | Fix |
|---|---|---|
must be run as root (sudo) | Not running as root | Prefix the command with sudo, or run as root. |
only Ubuntu 22.04/24.04 is supported (this host: …) | Another distribution or version | Use an Ubuntu 22.04 or 24.04 server. |
only x86_64 is supported | ARM or other CPU | Use an x86_64 server. |
requires ≥ 2 GB RAM (host has … MB) | Too little memory | Add RAM. |
requires ≥ 8 GB free disk space on / (… GB available) | Root filesystem nearly full | Free space or enlarge /. |
missing --license / missing --domain | First install without those parameters | Pass both — see Installation. |
unknown argument: … | Typo in a parameter | Check spelling; run with --help. |
apt-get failed (another apt/dpkg process, e.g. unattended-upgrades, may still be running) | The package manager is locked | Wait a few minutes (a fresh Ubuntu runs automatic updates after boot) and re-run. |
… is a symlink — aborting | /opt/nexcmp or /etc/nexcmp is a symbolic link | Replace it with a real directory — the installer refuses symlinks for security. |
License activation
| Message | Cause | Fix |
|---|---|---|
cannot connect to https://nexcmp.com | No outbound HTTPS to the license server | Check DNS, firewall and proxy on the server: curl -I https://nexcmp.com. |
license activation failed (HTTP …): <message> | The license server rejected the key | Read the message: wrong key, domain not matching the license, license suspended or revoked. Check the license page at nexcmp.com/licenses. |
no release available for this license yet | The license has no downloadable release | Contact sales; see Support. |
Download and verification
| Message | Cause | Fix |
|---|---|---|
failed to download release X | Network problem during download | Re-run. |
sha256 mismatch (… ≠ …) | The file arrived damaged or was altered | Re-run; if it repeats, a proxy may be rewriting downloads — try from another network. |
release X is unsigned — refusing to install | The server delivered no signature | Never bypass; contact support. |
INVALID SIGNATURE for version X — aborting | The Ed25519 signature does not verify | Do not install. Contact support — this means the file is not an official release. |
openssl failed to read public key | Very old or broken OpenSSL | Update the openssl package. |
invalid version: … | Unexpected data from the server | Re-run; contact support if it persists. |
Service start
| Message | Cause | Fix |
|---|---|---|
service failed to start — check: journalctl -u nexcmp -n 50 | The panel did not answer /healthz within 3 minutes | Read the journal. Common causes: the port (default 3000) is already used (`ss -ltnp |
nginx and TLS
| Message | Cause | Fix |
|---|---|---|
DNS <domain> does not point to <IP> (nor to Cloudflare) — skipping nginx/TLS | The A/AAAA record is missing or wrong | See DNS and Cloudflare, then re-run. |
certbot could not get a certificate yet — re-run the installer once DNS has settled | Let's Encrypt validation failed (port 80 blocked, DNS not propagated, rate limit) | Open port 80, wait for DNS, re-run. Check /var/log/letsencrypt/letsencrypt.log. |
certbot could not renew now — keeping the existing certificate | Temporary renewal failure | Harmless; re-run later. |
nginx rejected the HTTPS configuration — kept the previous one (check: nginx -t) | Another nginx site conflicts (same server_name, duplicate settings) | Run sudo nginx -t and fix the conflict, then re-run. |
apt-get could not install nginx / certbot, or E: Failed to fetch … 404 Not Found | Package manager locked, or the server's package index is stale (typical on a template image that has not been updated for a while) | Run sudo apt-get update, wait for any other apt process to finish, then re-run the installer. |
openssl could not create the self-signed certificate | OpenSSL problem | Update openssl; re-run. |
After installation
| Symptom | Cause | Fix |
|---|---|---|
Browser cannot open https://<domain> | DNS or TLS not ready | sudo nexcmp status; use emergency access. |
ERR_TOO_MANY_REDIRECTS | Cloudflare SSL mode Flexible | Set Full (strict) — details. |
| Wizard says "setup code" is wrong | Typo or a code from an earlier install | Run sudo nexcmp status and copy the current code. |
| License shows HTTP 421 | Files in /var/lib/nexcmp owned by root | sudo nexcmp fix-owner, then sudo systemctl restart nexcmp. |