Documentation

Visit Our xCloud Knowledge Base

Here is your one-stop source for in-depth articles, FAQs, and tutorials for you to excel at hosting & managing your websites.


How to Set Up Node.js on AWS with xCloud?

Node.js is a powerful runtime that enables fast, scalable and modern web applications. 

With xCloud, you can easily setup Node.js on the AWS server in xCloud. 

xCloud makes hosting and managing Node.js sites easy, so you can focus on building great websites.This guide will show you how to set up Node.js on AWS using xCloud.

How to Setup AWS Server with xCloud? #

This guide shows how to set up the AWS server in xCloud. Follow the steps to quickly launch, configure and start your cloud journey.

Step 1: Sign Up/Login With xCloud #

First, you will need to visit the xCloud website and you have to sign up for xCloud with your credentials.

If you already have an account please visit our login page

Now you are ready to set up your server with Digital Ocean in xCloud.

Step 2: Create Your AWS 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 AWS server and for that select the AWS option. 

Step 3: Sign In to the AWS Management Console #

Now, before going to the next step, you need to log in to the AWS management console.  Sign in as a โ€˜Root Userโ€™ to the AWS Management Console using your AWS account credentials. Once logged in, navigate to the main dashboard where you can access various AWS services.

Step 4: Navigate to the IAM Console #

From the AWS Management Console, click on the Services menu located at the top left corner or search with โ€œIAMโ€ and select IAM from the list of services. This will direct you to the IAM dashboard, where you can manage users, groups, roles, and policies.

Step 5: Add a New User #

On the IAM dashboard, locate and click on the Users option in the left navigation panel. This will display a list of existing IAM users. To create a new user, click on the โ€˜Create Userโ€™ button.

Step 6: Configure User Details #

In this step, enter a unique โ€˜Usernameโ€™ for the new IAM user. Next, choose the type of access the user requires. Check-in โ€˜AWS Management Consoleโ€™ access option if the user requires access to the AWS Management Console and click on the โ€˜Nextโ€™ button.

Step 7: Set Permissions for Amazon EC2 Instance #

You have three options to set permissions for the new user. The first one is โ€˜Add user to groupโ€™ which lets you add the user to an IAM group with predefined permissions, which is efficient for managing multiple users with similar access needs. The second one is โ€˜Copy permissionsโ€™ which enables you to duplicate the permissions of another IAM user. And the final policy โ€˜Attach policies directlyโ€™ allows you to assign AWS-managed policies or custom policies.

Here we are choosing the โ€˜Attach policies directlyโ€™ and assigning the access for Amazon EC2 Instance to the user and hit on the Next.

Note: If you do not find the EC2 Access here, search for the policy in the search bar.

Step 8: Add Tags, Review and Create #

You can add โ€˜Tagsโ€™ to help organize and manage users. Now carefully review all the details and permissions assigned to the new IAM user. If everything is accurate and complete, click the โ€˜Create userโ€™ button to finalize the creation of the IAM user.

Step  9: Give Another permission for Amazon Lightsail #

Now, set another permission for the new user for Amazon LightSail easily. To specify the permissions for the created user, go to the Permission Policies and click on the โ€˜Add Permissions Menuโ€™. Choose the โ€˜Create Inline Policyโ€™ option from the dropdown menu.

Click on the โ€˜JSONโ€™ button from the Policy Editor and paste the below given JSON code in the editor. Finally, tap on the โ€˜Nextโ€™ button.

Here is the JSON code:

{

     “Version”: “2012-10-17”,

     “Statement”: [

         {

             “Sid”: “VisualEditor0”,

             “Effect”: “Allow”,

             “Action”: [

                 “lightsail:GetInstances”,

                 “lightsail:GetKeyPair”,

                 “lightsail:DeleteKeyPair”,

                 “lightsail:GetStaticIp”,

                 “lightsail:ReleaseStaticIp”,

                 “lightsail:SetIpAddressType”,

                 “lightsail:CreateInstances”,

                 “lightsail:GetInstance”,

                 “lightsail:GetInstanceAccessDetails”,

                 “lightsail:DeleteInstance”,

                 “lightsail:CreateKeyPair”,

                 “lightsail:ImportKeyPair”,

                 “lightsail:StartInstance”,

                 “lightsail:DownloadDefaultKeyPair”,

                 “lightsail:GetInstancePortStates”,

                 “lightsail:StopInstance”,

                 “lightsail:AttachStaticIp”,

                 “lightsail:GetRegions”,

                 “lightsail:RebootInstance”,

                 “lightsail:GetOperation”,

                 “lightsail:DetachStaticIp”,

                 “lightsail:GetInstanceState”,

                 “lightsail:GetBundles”,

                 “lightsail:TagResource”,

                 “lightsail:PutInstancePublicPorts”

             ],

             “Resource”: “*”

         }

     ]

 }

Once the policy is created for Lightsail instance, give the policy a name and hit on the โ€˜Create Policyโ€™ button.

Step 10: Create & Retrieve a User Access Key #

Now we have to create a user access key. Find โ€˜Create access keyโ€™ under the Summary tab and click on it. Then you will be redirected to the Access Key best practices & Alternatives page, from here select the โ€˜Otherโ€™ option and click on Next.

Now give a Description Tag to proceed to create an access key. Once the access key is created copy the Access Key and Secret from here and go back to your xCloud Dashboard to integrate the server with xCloud.

Step 11: Connect the Account & Add Necessary Information #

From the AWS dashboard, select an existing or connect new account from the dropdown menu. Then choose the AWS services from, you can use any one with the proper credentials or both from the xCloud dashboard.

Note: EBS-supported instances of AWS are not supported. 

For example, T3 instances use EBS storage. These instances are not available through the API. However, you can set up such instances manually in your AWS account first and then add them through the Any Provider method in xCloud.

As you have the Access Key and Secret Key, Paste them into the designated blank boxes one by one carefully. Now click on the โ€˜Verifyโ€™ button, it will start verifying the credential and connect you with the AWS server. 

Fill in all the information like โ€˜Server Nameโ€™, โ€˜Server Regionโ€™, โ€˜Server Zoneโ€™,โ€™Server Sizeโ€™, etc according to your preference. 

Next, choose the web server stack from NGINX or OLS as your requirements and click on โ€˜NEXTโ€™ button to proceed with the server creation process.

It will start creating a AWS server with xCloud within a while and if you go to the โ€˜Serversโ€™ from the menu you can see your created server and create as many site as you want under this server

How to Set Up Node.js on AWS with xCloud #

xCloud provides an intuitive interface that allows you to easily deploy, manage and scale your Node.js applications directly from your Git repository without worrying about manual setup or infrastructure maintenance.

Follow the guide to deploy your Node.js application easily on AWS with xCloud:

Step 1: Choose the Application  #

To begin deployment, click on the โ€˜Add New Siteโ€™ button from the dashboard. 

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

Next, you will see options such as โ€˜WordPressโ€™ and โ€˜Custom PHPโ€™. Go to the โ€˜Node.jsโ€™ option from the tab. After that, choose the โ€˜Choose a Git Repositoryโ€™ option to import your Node.js application using a Git provider.

Step 2: Set Up Domains  #

The โ€˜Domainsโ€™ tab allows you to configure your siteโ€™s domain. You can either create a โ€˜Demo Siteโ€™ or a โ€˜Live Siteโ€™. For this documentation, weโ€™ll proceed with the โ€˜Demo Siteโ€™ option and click โ€˜Nextโ€™ to continue.

Step 3: Configure Node.js Application   #

In the โ€˜Settingsโ€™ tab, you will find options to configure the Node.js version and manage site users. Adjust them according to your preferences.

Next, you will see the โ€˜Server-Side Rendering Appโ€™ option. To proceed with a โ€˜Client-Side Rendering Appโ€™, keep the toggle off. 

To deploy a โ€˜Server-Side Rendered Appโ€™, toggle it on.

Client-Side Rendering (CSR):  #

If your application is built using frameworks like React or Vue that render content in the browser, keep the toggle off. In this mode, the server mainly serves static files and all rendering happens on the client side.

Server-Side Rendering (SSR): #

If your Node.js application (for example, Next.js or Nuxt.js) renders pages on the server before sending them to the client, toggle this option on. This allows xCloud to configure the environment to support SSR processes properly.

Here we are proceeding with deploying a โ€˜Server Side Rendered Appโ€™ option โ†’

Then youโ€™ll need to provide a few essential details:

โ—ฝPort: Enter the port number your Node.js application listens on (e.g., 3000 or 8080). xCloud uses this port to connect incoming traffic to your app.

โ—ฝStart Command: Specify the command that runs your application (for example, npm start, node server.js, or yarn dev). This tells xCloud how to start your Node.js server after deployment.

โ—ฝWeb Root Path: If your projectโ€™s main application files are located in a subdirectory (for instance, /app or /src), enter that path here. If your app is in the root directory, you can leave this field blank.

Now, insert the โ€˜Portโ€™ and โ€˜Start Commandโ€™ in the respective fields. You can also specify a โ€˜Web Rootโ€™ Path for your application.

In the following step, you can choose one of the database options โ€˜No Databaseโ€™, โ€˜Add an Existing Databaseโ€™, โ€˜Create a New Databaseโ€™ directly on the server. Once selected, click โ€˜Nextโ€™.

Step 4: Insert Git Repository Credentials  #

In the โ€œGit Repoโ€ tab, you will find three repository options: ‘Private Repository (Manual SSH URL)โ€™, โ€˜Public Repository (Manual HTTPS URL)โ€™, โ€˜Connected Git Providerโ€™.

If you choose Public Repository (Manual HTTPS URL), enter your GitHub Repository URL and specify the Git Branch.

Note: Copy the HTTPS URL from your GitHub repository dashboard.

If you choose Private Repository (Manual SSH URL), enter your GitHub Repository SSH URL and specify the Git Branch.

Note: Copy the SSH URL from your GitHub repository dashboard.

In this document, weโ€™ll deploy the project using the โ€œGit Providerโ€ option.

Choose โ€œConnected Git Providerโ€ from the dropdown menu. From the โ€œSelect Git Providerโ€ list, choose the connected account you want to use. Then, browse through the repositories, select the one you want to deploy and choose the specific branch of that project.

Step 5: Enable Push-to-Deploy  #

The next step is to enable automated deployment. Toggle on the โ€˜Enable Push to Deployโ€™ option. Copy the โ€˜Deployment URLโ€™ provided here, you will need to insert it into your GitHub repositoryโ€™s webhook settings.

Step 8: Run Deployment Script  #

Once the repository integration is complete, you can configure post-deployment actions.

In the โ€˜Deployment Scriptโ€™ field, enter any custom commands you want to execute after deployment. 

You can also select one of the example scripts provided. After configuring this, click โ€˜Nextโ€™ to continue.

Next, you can specify the subdirectory where your .env file should be created in the โ€œ.env File Pathโ€ field. You can also enter the contents of your .env file in the โ€œFile Contentโ€ field.

Step 9: Confirm Deployment  #

The final step is to confirm and start the deployment. Click the โ€˜Startโ€™ button to begin the process. You can monitor the deployment progress in real time.

After deployment, a success message will appear. From there, access your site dashboard and visit your site to confirm your Node.js app is running on AWS server with xCloud.

Environment Editor for Node.js Application  #

The Environment section in xCloud allows you to customize configuration settings for your n8n instance. Just go to the โ€˜Environmentโ€™ option from the sidebar and adjust as you need then click on the โ€˜Saveโ€™ button.

SSR Configuration for Node.js application  #

If you are deploying an SSR application, you can update the โ€˜Application Portโ€™, โ€˜Start Commandโ€™ later as well. 

Just go to the โ€˜SSR Configurationโ€™ from the โ€˜Node.jsโ€™ Menu under the site dashboard and click on the โ€˜Update Configurationโ€™ button.

Setting up a Node.js application on a AWS server with xCloud is simple and efficient. After setting up or deployment, you can manage your app, update settings and push changes directly from your Git repository.

Still stuck? Contact our support team for any of your queries.

What are your feelings

Updated on December 30, 2025

Server Name

RAM

SSD

xCloud Provider Price/m
(For LTD users)

VULTR Price/m

DO Price/m

Newcomer

1GB

25GB

$4.50

$5.00

$6.00

Basic

2GB

55GB

$9.00

$10

$12.00

Standard

4GB

80GB

$18.00

$20

$24.00

Professional

8GB

160GB

$36.00

$40

$48.00

Business

16GB

320GB

$72.00

$80

$96.00

Server Name

RAM

SSD/NVMe

xCloud Provider Price/m
(For LTD users)

VULTR Price/m

DO Price/m

Lite

1GB

32GB

$5.40

$6.00

$8.00

Personal

2GB

88GB

$16.20

$18.00

$24.00

Growing

4GB

128GB

$21.60

$24.00

$32.00

Elite

8GB

256GB

$43.20

$48.00

$64.00

Titanium

8GB

384GB

$86.40

$96.00

$96.00

Ultimate

32GB

512GB

$172.80

$192.00

$192.00