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 |
--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 |
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 agent |
Placeholder for the future hosted agent (not implemented) | 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, 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, version, architecture, kernel version
Package manager (apt, dnf, yum, apk, pacman)
Service manager (systemd, sysvinit)
Firewall backend (ufw, firewalld, iptables, none)
Whether running as root
Whether the platform is fully supported
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 |
agent
The agent command and its subcommands (connect, status, run, update) are placeholders. They print a message stating that agent mode is not yet implemented and make no changes. See Supported platforms.
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 apt packages | 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 UFW firewall | Firewall |
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.