Last updated on 4th April 2026

Managing Servers with the CLI

The DeployHQ CLI lets you manage all server configurations, including project servers, server groups, and account-wide global servers.

Project Servers

Listing Servers

dhq servers list -p my-app

This shows all servers configured for the project, grouped by server group where applicable.

Viewing Server Details

dhq servers show <server-identifier> -p my-app

Creating a Server

dhq servers create -p my-app \
  --name "Production Web" \
  --protocol-type ssh \
  --server-path /var/www/html

# Specify an environment
dhq servers create -p my-app \
  --name "Staging" \
  --protocol-type sftp \
  --server-path /home/deploy/staging \
  --environment staging

Supported protocol types include: ssh, ftp, sftp, s3, and others depending on your account.

Updating a Server

dhq servers update <server-identifier> -p my-app --name "New Name"

Deleting a Server

dhq servers delete <server-identifier> -p my-app

Resetting a Host Key

If a server's SSH host key has changed (e.g., after server rebuild):

dhq servers reset-host-key <server-identifier> -p my-app

Server Groups

Server groups allow you to deploy to multiple servers simultaneously.

Listing Server Groups

dhq server-groups list -p my-app

Viewing a Server Group

dhq server-groups show <group-identifier> -p my-app

Creating a Server Group

dhq server-groups create -p my-app --name "Production Cluster"

Updating a Server Group

dhq server-groups update <group-identifier> -p my-app --name "New Group Name"

Deleting a Server Group

dhq server-groups delete <group-identifier> -p my-app

Global Servers

Global servers are account-wide server templates that can be copied to any project. This is useful when you have standard server configurations shared across projects.

Listing Global Servers

dhq global-servers list

Viewing a Global Server

dhq global-servers show <server-id>

Creating a Global Server

dhq global-servers create \
  --name "Standard Production" \
  --protocol ssh \
  --server-path /var/www/html

Updating a Global Server

dhq global-servers update <server-id> --name "Updated Name"

Copying a Global Server to a Project

dhq global-servers copy-to-project <server-id> -p my-app

Deleting a Global Server

dhq global-servers delete <server-id>