Commands
Abstrax commands are grouped by area. Every command follows the same pattern:
abstrax <group> <action> [arguments] [flags]
This page introduces the global flags and the top-level commands, then links to detailed documentation for each command group.
Global flags
These flags are available on every command:
| Flag | Description |
|---|---|
--json |
Output machine-readable JSON instead of text |
--json-stream |
Output NDJSON progress events plus a final result line (mutually exclusive with --json) |
--dry-run |
Show the commands that would run without making changes |
--yes |
Skip confirmation prompts for destructive commands |
--quiet |
Reduce output |
--verbose |
Increase output, including the underlying commands being run |
--no-color |
Disable coloured output |
--allow-blocked-plugin |
Allow execution of registry-blocked plugins (repeatable) |
Root-only flags for agents: --action (stable action name) and --payload (JSON object, or - for stdin). See Action dispatch.
Every command also supports --help (alias -h). The root command additionally supports --version (alias -v).
Top-level commands
| Command | Description | Root required |
|---|---|---|
abstrax version |
Print version, commit, and build date | No |
abstrax self |
Manage the Abstrax CLI itself | Depends on subcommand |
abstrax doctor |
Inspect the system and report platform capabilities | No |
abstrax config |
Manage Abstrax configuration | Depends on subcommand |
abstrax log [path] |
Tail a log file (defaults to the Abstrax log) | No |
abstrax help |
Show help for any command | No |
abstrax completion |
Generate a shell autocompletion script | No |
The help and completion commands are provided automatically by the command framework. abstrax completion <shell> prints an autocompletion script for bash, zsh, fish, or PowerShell.
version
abstrax version
abstrax version --json
self
The self command group manages the Abstrax CLI. See Self for full detail.
sudo abstrax self update
sudo abstrax self update 1.2.0
sudo abstrax self update --allow-breaking
abstrax self update --dry-run
self update downloads a release from GitHub, verifies the SHA-256 checksum, and replaces the running binary. By default it updates to the newest release within the current major version. Use --allow-breaking to upgrade across major versions.
doctor
abstrax doctor reads /etc/os-release, builds a platform profile, detects the package manager, service manager, and firewall backend, checks whether it is running as root, and reports which managed tools are installed.
abstrax doctor
abstrax doctor --json
It reports:
OS, distro ID, version, family, architecture, kernel version
Package manager (apt, dnf, yum, apk, pacman, unknown)
Service manager (systemd, sysvinit, unknown)
Firewall strategy (ufw, unknown)
Nginx layout (sites-available-enabled on Debian family)
Web user, default project root, PHP-FPM strategy
Support level (official, compatible, unsupported)
Available tools: nginx, apache2, certbot, mysql, mariadb, supervisor, redis, memcached, ufw, curl, git
log
abstrax log tails a log file using tail. By default it follows the Abstrax log at /var/log/abstrax/abstrax.log. Pass an optional path to tail a different file instead. If the file does not exist, it says so.
abstrax log
abstrax log --lines=100
abstrax log --follow=false
abstrax log /var/log/nginx/error.log
abstrax log /var/log/nginx/error.log --lines=200
| Flag | Default | Description |
|---|---|---|
--lines |
50 |
Number of lines to show |
--follow, -f |
true |
Follow the log output |
Command groups
| Group | Purpose | Documentation |
|---|---|---|
config |
Manage Abstrax server-wide settings | Config |
self |
Update and manage the Abstrax CLI | Self |
user |
Manage Linux users and groups | Users |
ssh-key |
Manage SSH authorised keys for users | SSH keys |
ssh |
Manage SSH server configuration | SSH keys |
package |
Manage system packages (apt/dnf) | Packages |
service |
Manage systemd services | Services |
cron |
Manage scheduled cron jobs | Cron |
daemon |
Manage background processes with Supervisor | Daemons |
project |
Manage nginx-backed web projects | Projects |
plugin |
Install, update, and remove CLI plugins | Plugins |
web |
Install, test, reload, and restart the web server | Web server |
ssl |
Manage Let's Encrypt certificates with Certbot | Certificates |
mysql |
Manage MySQL/MariaDB databases and users | MySQL |
cache |
Manage Redis and Memcached | Cache |
firewall |
Manage the firewall (UFW or firewalld) | Firewall |
repo |
Enable required repositories (EPEL, CRB, Remi) | Repositories |
server |
Show server status and resource usage | Server |
For a single page listing every command and flag, see the command reference.
A note on permissions
Many commands change system state and require root. Run them with sudo. Read-only commands such as doctor, version, server status, and the various list, info, and status actions generally do not require root, though some need root to read protected system files. Each command page notes the requirement. See Permissions for the full picture.