Last updated on 4th March 2026

Cloudways Deployment with DeployHQ: Continuous Integration & Delivery for PHP

Deploying to your site hosted with Cloudways is very simple with DeployHQ. Cloudways is a managed cloud hosting platform (now part of DigitalOcean) that lets you choose from multiple cloud providers including DigitalOcean, Vultr, Linode, AWS, and Google Cloud.

Firstly, you'll need to set up your DeployHQ project, then connect to your Cloudways server.

Setting up your project

Head to the Projects screen in DeployHQ, then click the New Project button to get started.

You'll be prompted to enter a name for your project, then select where your repository is hosted.

New Project

Next, click Create project and you'll be taken to a screen where you can log in with your repository hosting account to authorise access and then choose your repository.

Setting up Cloudways

Once you've configured your repository, you'll need to connect to your Cloudways server. You can use either Master Credentials (access to all applications on the server) or Application Credentials (scoped to a single application).

Finding your credentials

Master Credentials (recommended for DeployHQ):

  1. Log in to the Cloudways Platform
  2. Click Servers from the top menu
  3. Select your target server
  4. Under Server Management, you'll see the Public IP, Username (format: master_xxxxxxxx), and Password

Application Credentials (if you want access scoped to one site):

  1. Click Applications from the top menu
  2. Select the target application
  3. Under Application Management, find the Public IP, Username, and Password
  4. Important: SSH access is not enabled by default for application users — go to Application Settings and toggle Enable SSH Access first

Adding the server in DeployHQ

Head to Servers & Groups, and click the New Server button at the top of the screen. If you've just added your repository, you will have been taken to this page automatically.

Start by entering a name, and choosing SSH/SFTP as the protocol:

Cloudways - new SSH server

Next, enter your Public IP as the hostname, then your Cloudways username and password. The port can be left blank to use the default (22).

Cloudways - SSH connection details

For the deployment path, use the full path to your application's web root:

/home/master/applications/<folder-name>/public_html/

Note that <folder-name> is a randomly generated string assigned by Cloudways (not your domain name). You can find it in the Application Management panel, or by SSHing in and listing /home/master/applications/.

If you're deploying a WordPress site, you might append the path to your theme directory instead, e.g. /home/master/applications/<folder-name>/public_html/wp-content/themes/mytheme.

Within Deployment options, you can choose to automatically deploy your server and, if you're only deploying files from a certain directory in your repository, enter a Deployment subdirectory.

Cloudways - Deployment options

Tip: If you have IP allowlisting enabled on Cloudways, you'll need to add DeployHQ's IP addresses to the allowlist.

Click Create Server to finish, then you can proceed to start your first deployment.

Run your first deployment

By default, DeployHQ will upload the whole repository to your server on the first deployment, because there is no previously deployed commit to compare to.

If your files are already on your Cloudways server and up to date with the latest commit, you can follow this guide to skip that first deployment:

Otherwise, just follow this guide to start your first deployment, then after the first deployment, only files that have changed will be uploaded in future.

That's it! You've now set up and run your first deployment to your Cloudways server and your future changes will be uploaded for you automatically, or at the simple click of a button.

Further reading

DeployHQ has a number of very useful features to help with your deployments in general that you might wish to find out more about:

  • Compiling assets and javascript with the Build pipeline
  • Running commands on your server with SSH commands
  • Stop certain files from being uploaded in deployments using Excluded files
  • Keep important files safely away from your repository using Config files
  • Keep your team in the loop and run other useful tasks during a deployment with our Integrations