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.


































