Laravel is a popular PHP framework for building modern web applications. With DigitalOceanโs cloud hosting and xCloudโs oneโclick deployment, you can set up Laravel on DigitalOcean Server quickly and manage it with ease. This guide walks you through the process step by step.
First, set up your DigitalOcean server in xCloud. Follow these steps to get started.
How to Setup A DigitalOcean Server in xCloud? #
This guide shows how to set up a DigitalOcean server in xCloud. Follow the steps to quickly launch, configure and start your cloud journey.
Step 1: Create Your New DigitalOcean Server in xCloud #
After logging in to your xCloud account, start by adding a new server by clicking on the โAdd New Serverโ button from your dashboard.

The next screen will provide the list of our available server providers. For tutorial purposes, we will create a Digital Ocean server and for that select the DigitalOcean option. The billing of the server will be handled on your Digital Ocean account.
Note: Donโt have a DigitalOcean account? Check out the documentation below to find out how to provision a server with any providers:
- How To Setup First Server With Vultr?
- How To Setup Your First Server With Google Cloud Platform Provider?
- How To Setup a Server With Other Providers?
Weโve made it easier and safer for you to connect xCloud with your DigitalOcean account. You no longer have to go through the hassle of generating and copying access tokens.
Now, xCloud will guide you through an OAuth flow, where you simply authorize xCloud to use your DigitalOcean account.

All you have to do is provision a new DigitalOcean server, click โAuthorizeโ during the setup, and youโll be redirected to DigitalOcean to grant permission to your account. Itโs a straightforward and hassle-free process to set up your server with Digital Ocean.

Step 3: Add Necessary Information #
You will be taken to the server creation page after successfully integrating your DO account. Now you need to provide the Server name, your preferred Server Size (CPU, RAM, Storage) and Region nearest to you and your visitors. Only, MySQL 8.0 database server is now available.
By default Database, the โRootโ Password is auto-filed but you can change this and save it in a safe place.
We recommend at least a 2GB/ 1 shared CPU server for 10-20 sites with cache enabled. And for a site whose pages cannot be cached (e.g. WooCommerce site) we recommend a 4 GB / 2 dedicated CPUs server.

We are almost done with our server creation of Digital Ocean in xCloud. After submitting the form this might take up to 12-15 minutes to make the Digital Ocean server live and ready to install a lightning fast WordPress Site.

If you already have a DigitalOcean server, you can skip the first phase and proceed directly to the second. Follow these steps to get started.
How to Set Up Laravel on DigitalOcean Server: Deploy Laravel Applications with xCloud #
Deploying a Laravel application can feel complex, with multiple steps and detailed setup. This guide walks you through everything from configuration to deployment, so you can set up Laravel on DigitalOcean Server.
Step 1: Choose Your Server #
Begin by logging into your xCloud account. Once logged in, navigate to your dashboard and click on the โAdd New Siteโ button.

You will then be asked to โChoose a Server to add Siteโ from the dropdown. You must select the DigitalOcean server you set up in xCloud from this dropdown.

Step 2: Go to The Laravel Tab #
Then navigate to the โLaravelโ tab to deploy your Laravel applications. Now, choose โClone A Git Repositoryโ to import your custom PHP site.

Step 3: Set Up Domains #
From the โDomainsโ tab, you will get two options: either you can create a โDemo Siteโ with a test domain and refine it until it is ready for launch or you can migrate into a new domain to get your site up and running in a new domain.
Or you can create your site with your live domain; you need to select the โMigrate into a New Domainโ option. Then you have to put โNew Site Titleโ and โDomain Nameโ. Here we are choosing the โDemo Siteโ domain. Then click on โNextโ.

Step 4: Settings to Manage Database #
Now, you will be sent to the โSettingsโ step. Make sure to correctly add your โPHP Versionโ, โSite Userโ, โWeb rootโ.

Now, it is time for database management. You will get three options. You can either create a new database on the server, you can add your existing database that is hosted on another server.
You can also proceed without any database. For this tutorial, we are going with the โCreate Database In Serverโ option.
If you select this option, enter your โDatabase Nameโ, โDatabase Usernameโ and โDatabase Passwordโ. You can keep these auto-generated credentials or you can modify them according to your choice.

After selecting any one option and providing all essential information and credentials, click on โNextโ.
Step 5: Insert Git Repository Credentials #
In the โGit Repoโ tab, add your โGit Repositoryโ and โGit Branchโ. Also, toggle on the โEnable push to deployโ option. Once you enable the โPush To Deployโ, it will generate a โDeployment URLโ. We can use this URL to CICD pipeline and copy the โDeployment URLโ from here.

Step 6: Add the Deployment URL to the Git Repository #
Now, go to your Git repository. From the โCodeโ tab, go to the โSettingsโ tab and click on the โWebhooksโ page from the โCode and Automationโ section of the left navigation. Insert the deployment URL into the โPayload URLโ field. Select โapplication/jsonโ from the โContent typeโ dropdown.
Note: This step is optional. Adding a webhook enables automatic deployments when you push changes to the repository but itโs not required if you prefer to deploy manually.

Step 7: Add Public Key to Git Repository #
Next in the โDeploy Scriptโ field any script that needs to be executed after the site is deployed. For example, you can use it to install dependencies or run database migrations.
Next, in the โDeploy Scriptโ field, specify any commands that need to be executed after the site is deployed.
If your project uses PHP, you can specify the version (e.g., php8.1) and run Composer along with Laravel-specific commands like this:
php8.1 $(which composer) install --no-interaction --prefer-dist --optimize-autoloader --no-dev
php8.1 artisan migrate --force
php8.1 artisan optimize:clear
If your project also involves Node.js, you can include additional commands as well. These scripts ensure that your backend and frontend are fully prepared after deployment.

From the xCloud dashboard, copy the โPublic Keyโ to add it to your Git repository as a deploy key. Git migration uses the โPublic Keyโ for SSH authentication. This is necessary to enable xCloud to access your Git repository and clone it. It ensures secure and authorized access for the cloning process.

Now, again, go to your Git Repository. From the โCodeโ tab, go to the โSettingsโ tab and click on โDeploy Keysโ in the security section of the left navigation. Click on the โAdd keyโ button and paste the key that you copied from xCloud.

After inserting the deploy key in GitHub, click on โNextโ on your xCloud settings of the โGit Repoโ tab.

Step 8: Confirm Migrating The Website #
Now, to start the migration process, click on the โStartโ button. After clicking the migration process will start and you will see the progress of migration.
Once the migration is successfully complete will see the following screen. You go to the site dashboard from there. Go to the โLaravelโ Option from the menu and customize the โApplicationโ and โEnvironmentโ as your preferences.

Check out the other features of Laravel:
- How to Use Supervisor for Process Management With xCloud
- How to Set Up Laravel Horizon with xCloud
- How to Set Up a Queue Worker for Laravel Applications
Configure Laravel Scheduler with cron job for your Laravel projects with ease. Check out this documentation for more details:

And thatโs it. This is how easily you can successfully deploy your Laravel application on xCloud. Now you can go to your site dashboard from xCloud and customize according to your preferences.
If you are still stuck, feel free to contact our support team.


































