---
title: nexcmp command reference
description: Every subcommand of the nexcmp server command-line tool — status, update, backup, uninstall, open-port, close-port and fix-owner.
url: https://nexcmp.com/docs/getting-started/cli-reference/
applies_to: NexCMP 1.6.1
updated: 2026-11-02
---

# `nexcmp` command reference

The installer puts a helper at `/usr/local/bin/nexcmp`. Run it on the NexCMP server. Commands that change the system need `sudo`. (The customer-side tool for the API is a different program, see [cmp CLI](https://nexcmp.com/docs/developers/cmp-cli/).)

| Command | Needs root | What it does |
|---|---|---|
| `nexcmp status` | No (more detail with `sudo`) | Version, service state (`nexcmp`, `nexcmp-vmd`), `/healthz`, license summary, public-port state, setup code if the wizard is not finished |
| `nexcmp update` | Yes | Runs the installer shipped in the installed release with the saved parameters — see [Updating](https://nexcmp.com/docs/getting-started/updating/) |
| `nexcmp backup [dir]` | Yes | Backup to `/var/backups/nexcmp` (or `dir`) — see [Backup and restore](https://nexcmp.com/docs/getting-started/backup-and-restore/) |
| `nexcmp uninstall [--purge]` | Yes | Remove services and program; `--purge` also removes data — see [Uninstall](https://nexcmp.com/docs/getting-started/uninstall/) |
| `nexcmp open-port [minutes]` | Yes | **Emergency**: listen on the panel port (default 3000) on all interfaces for 1–1440 minutes (default 30), then close automatically |
| `nexcmp close-port` | Yes | Close the emergency window now |
| `nexcmp fix-owner` | Yes | Give files in `/var/lib/nexcmp` that belong to root back to the `nexcmp` user |

## `nexcmp status`

```text
Version   : 1.6.1
nexcmp     : active
nexcmp-vmd : active
healthz    : ok
License   : active · domain cloud.example.com · token valid until 2026-11-12 · updates until 2027-10-30
Public port: 127.0.0.1 only (nginx proxy; emergency: sudo nexcmp open-port)
```

If files in the data directory are owned by root (for example created by running another `nexcmp` command with `sudo` as root), `status` prints a warning, because the service user cannot read them — a typical symptom is the license showing HTTP 421. Fix with `sudo nexcmp fix-owner`. The same fix runs automatically at every service start.

## Emergency access

When the domain, nginx or TLS is broken you can still reach the panel:

```bash
sudo nexcmp open-port 30          # http://<server-IP>:3000/ for 30 minutes
sudo nexcmp close-port            # close it earlier
```

Safer, without opening anything: `ssh -L 3000:127.0.0.1:3000 user@server` and browse `http://127.0.0.1:3000/`.

## Environment

| Variable | Used for |
|---|---|
| `NEXCMP_BASE` | Override the license server base URL (default `https://nexcmp.com`); for testing only |

Files and directories: program `/opt/nexcmp`, configuration `/etc/nexcmp`, data `/var/lib/nexcmp`, logs `/var/log/nexcmp` and `journalctl -u nexcmp -u nexcmp-vmd`.
