DEV Community

Cover image for Best Node JS free hosting services out there
Zipy team for Zipy

Posted on

Best Node JS free hosting services out there

With the impending retirement of Heroku's free tier, developers are now searching for other options to host their Node.js applications. Fortunately, there are plenty of free hosting services that you can use to deploy their projects with ease.

In this article, we will explore some of the top free Node hosting services, including Glitch, Render, Railway, AWS, and more. We will walk you through the process of deploying a simple Node.js app to each of these platforms, and discuss the benefits and limitations of these services.

By the end of this article, you'll have a solid understanding of your options for Node js free hosting services available for your Node.js projects and be able to make an informed decision on which service best fits your needs.

Let’s dive in and explore!

1. Render

Deploying a Node.js app to Render

Deploying a Node js app has never been easier thanks to the free tier offered by Render. This platform makes static deployments a breeze, whether you're working with React, Vue, or Angular apps, or you need to deploy a web service for a Node.js application. To get started, simply follow these steps:

  1. Log in to Render.com using your GitHub account.
  2. Click on "New > Web Service."
  3. Connect the GitHub repository you've just created to your Render account.
  4. On the following screen, give your project a name, accept all defaults and the free tier, and click "Deploy."
  5. Now, sit back and wait for the deployment to complete, which may take some time. Once it's done, you can find the URL in the upper left-hand corner.

In addition to streamlined deployments, Render also offers a range of other services that can prove invaluable as you build and develop your application. These include databases and cron jobs, which are scripts that can be scheduled to run at specific times.

2. Fly.io

Deploying a Node.js app to Fly.io

Fly.io is a platform that specializes in deploying Docker containers, and it has made the process much easier in recent years. To deploy your application with Fly.io, follow these steps:

  1. Sign up for Fly.io using your GitHub account.
  2. Install FlyCtl, the command line tool for Fly.io.
  3. Log in to FlyCtl with the command "flyctl auth login." You'll be prompted for payment information, but as long as you remain within the free tier, you won't be charged.
  4. From your terminal, deploy the app by running "flyctl launch."
  5. Answer the prompts and accept the defaults, then wait for the deployment to finish. This may take some time.
  6. Once the deployment is finished, you'll be able to see your application on your Fly.io dashboard, along with the URL where it's located.

In the future, if you need to update your app, simply run the command "flyctl deploy" from the directory where your application is located. Fly.io knows which deployment to update because when you ran "flyctl launch," it created a "fly.toml" file that contains all the deployment settings, which speeds up updates.

3. Railway

Deploying a Node.js app to Railway

If you're looking for an alternative to Render, Railway is another platform worth considering. With Railway, you can deploy your application and take advantage of several types of databases, including Postgres, mySQL, and MongoDB. The process for deploying a Node.js application on Railway is quite similar to that of Render:

  1. Log in to Railway using your GitHub account.
  2. Create a new project and select "Deploy from GitHub."
  3. Select your repository, and then click on "Deploy Now."

To deploy your Nodejs application to Railway, there is one additional step involved compared to others as by default, your project on Railway won't have a publicly accessible domain name. To create one, simply navigate to the "Settings" tab and click on "Generate Domain." This will generate a unique URL that you can share with others to showcase your project. And just like that, you're up and running!

You might also like these blogs:

4. Glitch

Deploying a Web app to Glitch

If you're looking for a Node js free hosting option for your Node.js app, Glitch might be a good choice. It's an excellent option for fun apps or prototyping, but keep in mind that it has some limitations like projects going to sleep after 5 minutes of inactivity, disk space limit of 200MB, and requests per hour are capped at 4000.

To use Glitch's free plan, you need to login with Github or Facebook to keep the project active. You can create an app anonymously as well but it will expire in five days.

Here’s the process for deploying your Node.js project to Glitch:

  1. Create a new Glitch project and import your code.
  2. Open the "package.json" file and ensure all dependencies are included.
  3. Create a "server.js" file and add code to run your project.
  4. Start your project on Glitch.

Glitch is a modern hosting platform, that gets you started with a minimal set-up, comes with an in-built text editor, and supports instant deployment. All in all, Glitch can be the go platform for personal use or small projects.

5. Azure

Deploying a Web app to Azure

Microsoft offers an Azurefree plan that provides access to a range of Azure services, making it an ideal choice for those who want to try out Azure without incurring any costs. Upon signing up, you get USD 200 credit to spend in the first 30 days, along with access to two groups of services: popular services that are free for 12 months, and more than 55 other services that are always free.

With the free plan, you can experiment with Azure services and learn about its capabilities without any financial commitment. Once you've used up your credits, you can choose to upgrade your subscription and continue using paid services.

To access the Azure portal, follow these steps:

  1. Go to https://portal.azure.com/ in your web browser.
  2. If you already have a Microsoft Azure Account, you can skip to Step 5. Otherwise, you will need to choose an account to continue with Microsoft Azure.
  3. If you don't have a Microsoft Azure account yet, click on "Create One!" to proceed with the sign-up process.
  4. Follow the prompts to create a new account.
  5. Once you're signed in, you can start exploring and using Azure services.

6. Platform.sh

Deploying a Web app to Platform.sh

Platform.sh provides a platform-as-a-service (PaaS) solution for Node.js applications, eliminating the need for developers to manage their infrastructure. By partnering with cloud providers such as AWS, Google Cloud Platform, and Microsoft Azure, Platform.sh makes it easy to run Node.js applications on their cloud infrastructure.

The platform offers a range of plans, including an entry-level plan with a free 30-day trial that does not require a credit card. However, the pricing for their main plans is no longer advertised, so interested users will need to contact Platform.sh directly to obtain more information. After the free trial, users can choose to upgrade to a paid plan and continue using Platform.sh's services.

7. Amazon Web Services (AWS)

Deploying a Web app to Amazon Web Services

AWS is a widely popular platform for hosting Node.js applications due to its many integrated services. One of the best services to start with is Elastic Beanstalk, which simplifies the deployment, management, and scaling of Node.js web applications using Amazon Web Services. Uploading your code is all you need to do, and AWS takes care of provisioning and deployment. The best part is that there is no additional charge for using Elastic Beanstalk. You only pay for the AWS services you use.

Another interesting option is Lambda, which offers a serverless hosting approach. To get started with AWS, you can check out the "Deploy a Node.js Web App" project guide, which provides an introduction to the basics and helps you get your application up and running. AWS also offers a free tier with access to many of its services, making it an attractive option for developers who want to test their applications without incurring significant costs.

8. Google Cloud Platform (GCP)

Deploying a Web app to Google Cloud Platform

Google Cloud Platform (GCP) offers a wide range of products and services to host your Node.js applications. Google App Engine is a great option that lets you focus on writing code without worrying about managing the underlying infrastructure.

GCP also has a free tier, which includes a 12-month free trial with $300 credit to spend on all GCP products. You can use this free credit to host your Node.js application on GCP and try out different services. After the trial ends, you'll only be charged for the resources you use, and you can upgrade to a paid plan if needed.

So what is the best Node.js hosting service for your needs?

Let's consider some scenarios to help you choose the best Node.js hosting for your needs. If you have technical expertise, then major cloud infrastructure services such as AWS, Google Cloud Platform, and Microsoft Azure are good options.

They offer services that simplify managing your app and eliminate tedious infrastructure tasks. DigitalOcean, and Platform.sh are also good options. If you need free Node.js hosting for non-critical projects, Glitch's free plan is a suitable choice.

Conclusion

Going for a Node JS free hosting plan in the start would be a smart choice. It gives you the freedom to experiment with various hosting options and find the one that best fits your needs.

We have listed the best free Node hosting services for you above. And now you just have to choose a service and host your app using the steps we have shared.

Happy Coding!

This blog was originally published at Zipy

Top comments (2)

Collapse
 
mupsi profile image
Marine Gandy

Hey there, thanks for mentioning Platform.sh 😊
Just to clarify, the prices are available on our website for the Professional plan, you just need to scroll a little: platform.sh/pricing/
Hope that helps! ✨

Collapse
 
zipyteam profile image
Zipy team

Thanks, will look into it.