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 onrender.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 asAWS
orAzure
. 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 thedatabase_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 fromneon
- You get this from your
-
DB_POSTGRESDB_PASSWORD
=npg_KJtpmv6X9Skw- You get this from your
database_url
copied fromneon
- You get this from your
-
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 fromneon
- You get this from your
-
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
- You get this after the first successful deployment on
-
- 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 theAdd New
button, then selectWeb 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 onConnect
. - Once the connection is successful, scroll to the
Instance Type
section and select theFree
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 theWEBHOOK_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
thatrender.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 theEdit
button. Add a new variable and addWEBHOOK_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 pressActivate
. - 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)