Abstrax

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.