Skip to content

CLI Reference

The vantage CLI is installed at /usr/local/bin/vantage and manages all platform services.

All commands that start or stop services require root (sudo vantage ...). Read-only commands (status, config, logs) can be run without sudo.


vantage status

Show the current state of every platform service.

vantage status

Output shows each service as running, stopped, starting, or failed. If first-run setup has not been completed, the setup code and admin URL are displayed here as well.

Services listed:

Name What it is
mariadb Database
redis Session cache and real-time backplane
server Vantage Server — handles SMTP, IMAP, and DKIM
nginx Reverse proxy and TLS termination
api REST API used by webmail and mobile clients
admin Zylatech Admin portal
tenantadmin Tenant Admin portal
migrator Zimbra migration tool (on-demand)

vantage logs \<service>

Tail the live log output for a service.

vantage logs api
vantage logs server
vantage logs tenantadmin

Press Ctrl+C to stop following. Logs are written to the system journal (journald). To see historical logs, use journalctl directly:

journalctl -u vantage-api --since "1 hour ago"
journalctl -u vantage-server -n 200

vantage restart [service]

Restart one service, or all services if no argument is given.

# Restart a single service
sudo vantage restart api
sudo vantage restart server

# Restart everything (mariadb, redis, nginx, all vantage services)
sudo vantage restart

Warning

vantage restart (no argument) restarts every service including MariaDB and Redis. Use this only when necessary — in-flight connections will be dropped.


vantage start / stop \<service>

Start or stop an individual service.

sudo vantage start migrator
sudo vantage stop migrator

vantage config

Display current platform configuration. Passwords are masked.

vantage config

The full credentials are stored in /etc/vantage/vantage.conf (mode 600, root only).


vantage install [target]

Install or reinstall a platform component. Running without a target performs a full install.

# Full install (first time on a fresh server)
sudo vantage install

# Rebuild webmail and reload Nginx
sudo vantage install nginx

# Rebuild vantage-server binary and restart
sudo vantage install server

# Obtain a Let's Encrypt TLS certificate
sudo vantage install cert

# Reinstall only MariaDB
sudo vantage install mariadb

Install targets:

Target What it does
(none) Full install: MariaDB → Redis → Vantage Server → Nginx → Apps
nginx Rebuilds the webmail bundle, rewrites Nginx config, reloads Nginx
server Rebuilds the vantage-server Go binary and restarts the service
cert Runs certbot to obtain or renew a Let's Encrypt certificate
mariadb Installs and configures MariaDB
redis Installs and configures Redis
apps Starts API, Admin, and TenantAdmin; generates first-run setup code

Deploying application updates

After a git pull on /usr/local/src/vantage, run bash installer/setup.sh cli first to update the CLI itself, then publish and restart the affected service. Do not skip setup.sh cli — an old CLI binary may overwrite Nginx tenant domain includes.


vantage tenant-domain \<hostname> \<webmail|manage>

Provision a custom domain for a tenant — obtains a Let's Encrypt certificate and creates the Nginx server block.

sudo vantage tenant-domain mail.customerdomain.com webmail
sudo vantage tenant-domain manage.customerdomain.com manage
  • webmail — serves the Vantage webmail app at the given hostname
  • manage — serves the Tenant Admin portal at the given hostname

DNS for the hostname must already resolve to this server's public IP before running this command (port 80 must be reachable for Let's Encrypt HTTP-01 validation).

Tenant Nginx configs are stored in /etc/nginx/vantage-tenant.d/ and are preserved across vantage install nginx runs.


vantage setup-code

Display the first-run admin setup code if initial setup has not yet been completed.

vantage setup-code

This is the six-digit code needed to create the first Zylatech Admin account at https://admin.zylatech.us.