DEV Community

Cover image for How to Setup n8n for Free.
Mushood Hanif
Mushood Hanif

Posted on

How to Setup n8n for Free.

This article is to serve as a guide to help the reader setup n8n for free with all the features unlocked. This article will provide a step-by-step guide on how to setup your n8n from the start to the end.

Table of Contents

  • Introduction
  • Prerequisites
    • Database
  • Deployment
  • Usage
  • Caveats

Introduction

n8n is a no-code automation creation platform that helps people develop workflow automations for anything they can imagine and any scenario. n8n can be used in 2 ways:

  • Purchase it directly on the website: n8n can be purchased directly from n8n.io and you can unlock all of their features and use it completely in all it’s glory.
  • Self-host your own n8n image: n8n can be self-hosted on your personal servers and it will provide all of the features unlocked and for free. There are no drawbacks to this method and this can be upgraded if required.

This article will be a step-by-step guide to self-hosting your own n8n service using already existing, state-of-the-art, free software online.

Prerequisites

To start, we need to have 2 things in our inventory:

  • Database: Self-hosted n8n services require a database to be connected to it for storing all your workflows, credentials and information. We will employ neon.tech as our database.
  • Backend Deployment Service: The way we will self-host our own n8n service is to utilize the open-source and free n8n docker image provided by n8n.io themselves. This docker image will be hosted on render.com which is a free backend deployment service that allows for free deployment of docker images as well.

Database

To setup or free database, we:

  • Need to visit neon.tech and create an account. Neon allows the creation of 10 databases in their free tier. Quite generous.
  • After the creation of the account, we need to create a database. Go to your dashboard and click the New Project button.
  • Provide your desired database name, select the PostgreSQL version as 17 or whatever the latest version shows up at your side. Select the service provider as AWS or Azure. Select the server location, make sure you select a place that is closer to you.
  • Submit and you’ll be greeted with the dashboard of the new database you just created. Now all you need to do is to click the Connect button and copy the database_url. It should be something like this: postgresql://neondb_owner:npg_ijsRhYk14rpX@ep-silent-math-aeaiq51s-pooler.c-2.us-east-2.aws.neon.tech/neondb?sslmode=require&channel_binding=require.

The Neon database URL is made up of the following information:

  • DB_USER: neondb_owner
  • DB_USER_PASSWORD: npg_ijsRhYk14rpX
  • DB_HOST: ep-silent-math-aeaiq51s-pooler.c-2.us-east-2.aws.neon.tech
  • DB_NAME: neondb
  • DB_PORT: 5432 and the Port that Neon DB uses by default is 5432

This information will come in handy in the following steps.

Instruction Video: https://drive.google.com/file/d/1AsAIm1jTSnSLzwpIxkgrLzMRaKQzS0Ye/view?usp=sharing

Deployment

For deployment, we need to setup render.com for free service deployment:

  • Visit render.com and create an account.
  • After the creation of the account, collect the following information in a .txt file:
    • DB_POSTGRESDB_DATABASE=neondb
      • This value remains the same. Use it as is.
    • DB_POSTGRESDB_HOST=ep-polished-thunder-aejy3eqg-pooler.c-2.us-east-2.aws.neon.tech
      • You get this from your database_url copied from neon
    • DB_POSTGRESDB_PASSWORD=npg_KJtpmv6X9Skw
      • You get this from your database_url copied from neon
    • DB_POSTGRESDB_PORT=5432
      • This value remains the same. Use it as is.
    • DB_POSTGRESDB_SSL=true
      • This value remains the same. Use it as is.
    • DB_POSTGRESDB_SSL_CA_FILE=/etc/ssl/certs/ca-certificates.crt
      • This value remains the same. Use it as is.
    • DB_POSTGRESDB_SSL_REJECT_UNAUTHORIZED=true
      • This value remains the same. Use it as is.
    • DB_POSTGRESDB_USER=neondb_owner
      • You get this from your database_url copied from neon
    • DB_TYPE=postgresdb
      • This value remains the same. Use it as is.
    • N8N_ENCRYPTION_KEY=62kUtfcV3+R7xk9P5GpQPFT3q9nmTQKxO4p7VXL4de/HeW/Hm62il4H13tnMw6Zd
      • This is a random string used for encryption. It can be anything.
    • N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
      • This value remains the same. Use it as is.
    • N8N_RUNNERS_ENABLED=true
      • This value remains the same. Use it as is.
    • WEBHOOK_URL=https://n8n-hdw9.onrender.com/
      • You get this after the first successful deployment on render.com
  • Once all the values above have been collected, It’s time to deploy your n8n service.
  • Go to your Dashboard on render.com and click on the Add New button, then select Web Service.
  • You will be prompted with a few options, select the Existing Image option.
  • In the Input field below, enter docker.io/n8nio/n8n and click on Connect.
  • Once the connection is successful, scroll to the Instance Type section and select the Free option.
  • Then scroll down to the Environment Variables section, then copy and paste all the values you collected previously in a .txt file except for the WEBHOOK_URL value. We will add this after the deployment is successful.
  • Then click on Deploy Service .
  • Once, the service is deployed, open your newly deployed instance, and copy the URL that render.com assigned to your instance.
  • The find the Environment option in the sidebar and click on it.
  • Find the Environment Variables section and click on the Edit button. Add a new variable and add WEBHOOK_URL=<the-copied-url-of-your-newly-deployed-service> to it and save. This will start the redeployment of your service.

Instruction Video: https://drive.google.com/file/d/1uztybutDLOlHYVhU2JbIkGguJz-hAPup/view?usp=sharing

Usage

Congratulations, you now have your very own, totally free n8n service deployed and ready to use. Now we need to set it up:

  • You remember the URL you copied at the end for the WEBHOOK_URL value, copy that URL, paste it in your browser and enter. This will open your n8n instance.
  • When you open your instance, it will ask for your account details, provide those details and submit.
  • This will take you to your n8n dashboard. Once you reach the dashboard, you’ll be able to see an onboarding form. Don’t skip this form. Fill it and submit it.
  • Once submitted, you’ll see that n8n will prompt you to enter your email to receive a license key that grants you all the paid and premium features for free. Enter your email and submit.
  • You’ll receive an email shortly from n8n. Open that email and you’ll find the license key. Copy that license key and go back to your n8n instance.
  • Find your account settings in the bottom of the sidebar in your n8n dashboard. This will open up a Usage and plan page.
  • Click on Enter activation key , paste your activation key and press Activate.
  • You now have a completely free, fully premium n8n service of your own. Happy workflowing!

Instruction Video: https://drive.google.com/file/d/1Bd4AS-n3lbr-erz1I2UtERQ7sz0no4Xz/view?usp=sharing

Caveats

Since the deployment of the service is done on a free server, inactive time will spool down the server on which your n8n service is deployed. When you re-open your n8n service after a time of inactivity, you will face some problems opening your n8n service again. Be patient and try a few times and it will open up.

Top comments (0)