Deploying to DigitalOcean with DeployHQ
Deploying to your site hosted on DigitalOcean is very simple with DeployHQ.
Firstly, you'll need to set up your DeployHQ project, then connect to your DigitalOcean 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.
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.
- Adding a Bitbucket repository
- Adding a Codebase repository
- Adding a GitHub repository
- Adding a GitLab repository
- Adding a repository manually
Setting up DigitalOcean
Once you've configured your repository, you'll need to connect to your DigitalOcean server.
Update: Now you can directly connect to your droplets through our DigitalOcean integration. To do so, please check our DigitalOcean droplet configuration guide. Alternatively, you can connect through SSH/SFTP with the steps outlined below.
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:
Next, enter your public IP in the hostname field followed by the username and password, once you've followed the guide below to create a new user on your DigitalOcean server.
Because DigitalOcean provides servers with root access, it's strongly recommended that a new SFTP user is created, with access only to your deployment path.
To get started, we'd recommend following this guide. This guide provides an SFTP-only user with basic access but you can adapt it for your own needs as required. For example, you may wish for your user to be able to run SSH commands on the server during the deployment.
Once you've followed this guide, you can add the username and password to your settings and an optional deployment path to match the directory that your SFTP user is restricted to.
Then, 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.
When you're finished, just click Create Server and you can proceed to run 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 DigitalOcean though 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 DigitalOcean 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