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>