Professional NestJS Application Development
- Before starting, make sure you have Node.js and npm installed on your system. If you don’t have them yet, you can download them from the official Node.js website.
- Next, you’ll need to create an account on Square Cloud, which can be done through the signup page. You can use your email to create an account.
- Finally, you need to have an active paid plan on your account. You can view our plans and purchase one according to your needs here.
NestJS CLI Configuration
To use the NestJS command line interface (CLI), you need to install it globally on your system. Run the following command:@nestjs/cli
package globally on your system, allowing you to use the nest
command from anywhere in your terminal.
Creating a NestJS Project
To create a new NestJS project, run the following command:nest new my-app
is used to create a new NestJS project. The nest new
command is a tool that comes with nest
, the NestJS CLI (Command Line Interface). It is used to initialize a new NestJS application.
my-app
is the name of the new application. This command creates a new directory called my-app
and sets up the necessary files and dependencies for a basic NestJS application.
Configuring Port 80
After generating the NestJS project with thenest new my-app
command, the file you need to modify to change the port is main.ts
. This file is located at the root of your project directory, inside the src
folder.
Application Compilation
NestJS uses TypeScript, so you must compile your TypeScript code to JavaScript before running your application. You can compile your application by running the following command:build
script defined in your package.json
file, which in turn runs the nest build
command. This command compiles your TypeScript code to JavaScript.
Creating the Square Cloud Configuration File
Learn more about: how to create the configuration file for Square Cloud.
The squarecloud.app file is a configuration file that will be used to configure your application; it will be used to define the name, description, version, main file, among other things.
Configuring the MAIN Field
You need to specify the main file of your application in theMAIN
field of squarecloud.app. For a NestJS application, the main file is the compiled JavaScript file from your main.ts
file, which is dist/main.js
.
Here’s how you can configure it:
squarecloud.app
Configuring the START Field
In the Square Cloud configuration file, the START field is optional and only necessary if you are using a custom script to start the website or API. In the provided example, the START field is not necessary.Purchasing a Plan Before Uploading the Project
Before uploading your project to Square Cloud, it is important to understand that you need to purchase a plan. The type of plan you choose will depend on the resources required by your application. You can view our plans here.Wondering how much RAM and CPU your plan needs to host a NestJS application? Don’t worry, we’re here to help. NestJS is a progressive Node.js framework for building efficient and scalable server-side applications. It is modular, testable, and strongly typed with TypeScript, making it an excellent choice for complex back-end development. Our Standard plan offers 4GB of RAM and 4vCPU, which should be sufficient for most NestJS applications. However, if you are working on a larger project or need more stability, we recommend considering our Pro plan. With additional resources, you can ensure smooth performance even under high demand. To purchase, simply click here.
Uploading the Project to Square Cloud
After preparing your project files, you can now upload them to Square Cloud and host your project.Access the Square Cloud Dashboard and upload your project files.

Additional Resources
For more information about NestJS and its tools, visit the official NestJS documentation. There, you will find detailed guides, tutorials, and API documentation to help you make the most of NestJS.Troubleshooting
Custom Domain
To use a custom domain (e.g.,
mysite.com
) instead of the default URL https://mysite.squareweb.app/
, you need the Standard plan or higher. The subdomain is defined by the SUBDOMAIN field in the configuration file. See: How to set up your custom domain.Minimum RAM Requirements
Minimum: 512MB RAM for simple websites/APIs. For sites with frameworks (Next.JS, React, Vue, Angular, etc.), we always recommend at least 1GB RAM. For larger applications, use more RAM to avoid LACK_OF_RAM error and ensure performance.
Could not find this site.
Check if the subdomain/domain matches what's configured in the SUBDOMAIN field or in the custom domain settings. If you just uploaded the site, wait up to 60 seconds for Square to enable first access.

Site took too long to respond...
Check if you correctly configured port 80 and host 0.0.0.0 in the application. We recommend using Square's forced environment variables: PORT and HOST from the 
.env
file.