Bf pic
Bf pic
Share
06.11.2025
6
9 min
5
(2)

Your Own n8n for $5 a Month — No Server Administration

Ihor Nikolenko here. This is a situation I see with almost everyone starting out with automation: they open n8n's cloud pricing page, look at the plan, compare it to the fact that their automations aren't making a dime yet — and close the tab. Or they install n8n on their laptop, feel great for a week, and then discover that webhooks from external services never reach the laptop, and the laptop itself can never be turned off.

Here's why this matters right now: automation has stopped being a "feature for big companies." A website lead that drops itself into your CRM and Telegram, a bot that delivers content in exchange for a subscription, a report that builds itself without you — this is what separates a business where the owner works on the system from one where the owner works instead of the system. And the price of entry needs to be low enough that it doesn't hurt while you're still learning.

This guide covers the exact route I use myself: your own n8n on a platform that watches the server for you, complete with monitoring and scaling, for the price of a cup of coffee a month. Step by step: sign-up, deploying from a template, environment variables, domain and webhooks, the database, backups, and updates. And at the end, a ready-made first automation you can grab and use.

Why This Option, and Not the Cloud or a Laptop

There are three and a half ways to run n8n, and each has its own cost — not just in money.

  • n8n's official cloud. The easiest way to start, but last time I checked, the entry-level plan ran around thirty euros a month with tax. Fine for a system that's already making money. An expensive indulgence for the stage where you're still building your first workflows.
  • Running locally on your own computer. Free, right up until you try to receive a webhook from Telegram or a payment provider: without a public address, external services can't reach you, and you end up wrestling with tunneling tools. Plus, the computer has to stay on all the time.
  • Your own VPS. Cheap and flexible, but now you're the administrator: Docker, updates, SSL certificates, backups, monitoring — all on you. That's a separate job in itself, and it eats into the time that should have gone toward building automations.
  • A platform that administers it for you. The same self-hosted n8n on your own server, except the server deploys from a ready-made template, the platform watches it for you, shows you the load, sends alerts, and lets you add resources with one click. This is the option this article covers.

I went with Railway. At the time I was writing this guide, it offered a trial period with a small server and a base plan of $5 a month that includes a resource allowance, plus a signup bonus credited to your account if you register through a referral link — enough to run a bigger server for a few months. Platform terms change, so double-check the current numbers on the site before you start. But the order of magnitude holds: one coffee a month for a system that never sleeps.

Important. The bonus is only credited if you sign up through a referral link — it's in this article's banner, or right here. When I signed up myself, that perk didn't exist yet. I found out too late, so I'm passing it on to you.

What You'll Need

  • An account on the platform — sign up with GitHub or email.
  • A bank card for the base plan (you can get through the trial without one, but you'll need it for ongoing use).
  • Thirty minutes to an hour of uninterrupted time.
  • Optionally, your own domain, so your n8n address is yours rather than the platform's.
  • A text file where you'll record your encryption key, address, and login details. This isn't a "just to be tidy" tip — lose the encryption key and you lose every saved service credential.

Step by Step

Step 1. Sign Up and Create a Project from a Template

After signing up, create a new project and choose to deploy from a template. Search the template catalog for n8n — you'll find a few options; go with the one that ships with a PostgreSQL database. I'll explain why in step 4, but for now, just know that the Postgres option is the one you won't have to redo six months from now.

The platform will create an n8n service in your project (and, if you picked that template, a database service alongside it) and kick off the first deployment. Wait for the status to turn active — usually just a few minutes.

Step 2. Environment Variables

Open the n8n service's settings and find the environment variables section. The template has already filled in some of these, but a few need to be checked or added by hand. These are the official variable names from n8n's documentation:

  • N8N_ENCRYPTION_KEY — the key n8n uses to encrypt every saved credential. Generate a long random string, enter it, and save it in your file. If the template already generated a key, copy it for yourself. Lose the key, and you'll have to reconnect every service from scratch.
  • N8N_HOST — the domain n8n will be reachable at (no protocol).
  • N8N_PROTOCOL — https.
  • WEBHOOK_URL — the full public address, including the protocol and a trailing slash. This is what n8n plugs into the webhook URLs it hands off to external services.
  • GENERIC_TIMEZONE — your time zone, e.g., Europe/Kyiv, so scheduled triggers fire when you expect them to.

You might not know your domain yet at this point — if so, come back here after step 3 and update N8N_HOST and WEBHOOK_URL. The service restarts on its own after you change any variables.

Step 3. A Public Domain

In the service's network settings, generate a public platform address — it's issued for free and works over https right away. If you want your own domain, add it in the same place and create the CNAME record the platform shows you in your domain's DNS panel. While DNS is propagating, you can keep working on the platform's address.

Enter that domain into N8N_HOST and WEBHOOK_URL from step 2. This is the most common cause of "webhooks aren't working": n8n shows nodes the address from these variables, and if it doesn't match the real one, external services end up knocking on an empty door.

Step 4. The Database

By default, n8n stores everything in a SQLite file inside the container. That's fine for testing and dangerous for real use: redeploy without an attached disk, and the file disappears along with your workflows and execution history. So you have one of two options:

  • PostgreSQL (my recommendation). If the template already created a database service, the connection variables are already wired up. If not, add a Postgres service to the project and set n8n's DB_TYPE to postgresdb, plus DB_POSTGRESDB_HOST, DB_POSTGRESDB_PORT, DB_POSTGRESDB_DATABASE, DB_POSTGRESDB_USER, DB_POSTGRESDB_PASSWORD — the platform shows these values in the database service's settings.
  • SQLite on a persistent volume. Attach a persistent volume to the n8n service and mount it at n8n's data folder (/home/node/.n8n by default). That way the database file survives redeployment. This is a reasonable option for a single user with a handful of workflows.

A persistent volume is useful even with Postgres — n8n keeps binary files and a local copy of the encryption key in that same folder.

Step 5. First Login

Open your domain in a browser. On first launch, n8n will ask you to create an owner account — an email and password. This isn't a signup for n8n's cloud; it's a local account on your own server. Write the credentials down in your file. After that, you'll see an empty workflow list — your server is ready.

Step 6. Testing Webhooks

Create a test workflow with a Webhook trigger, copy the test address it shows you, and open it in a new browser window. If n8n shows the incoming request, everything's wired up correctly. If the address shown in the node doesn't start with your domain, go back to step 2 and check WEBHOOK_URL.

Step 7. Monitoring and Cleaning Up Execution History

The platform shows CPU, memory, and network usage for each service and lets you set up alerts as you approach a limit. Check these graphs after a week of running — you'll see whether your resources are enough or it's time to add more.

The biggest disk consumer in n8n is execution history. To stop the database from growing forever, add EXECUTIONS_DATA_PRUNE set to true and EXECUTIONS_DATA_MAX_AGE for the retention period in hours. For successful runs, you can skip saving data entirely (EXECUTIONS_DATA_SAVE_ON_SUCCESS set to none), keeping only failures for debugging.

Step 8. Backups and Updates

n8n releases updates frequently, and the platform lets you redeploy the service on a newer image. Before every update, do three things: export your workflows to JSON (n8n can do this from the interface), make sure your encryption key is saved in your file, and back up the database (the platform offers volume snapshots, or you can dump Postgres manually). After updating, open two or three key workflows and run a test pass. That's five minutes that save you a night of recovery.

What This Actually Costs

The base plan includes a certain amount of resources, and you pay for actual usage beyond that. For a single user with a few dozen workflows, n8n usually fits inside the base allowance if you've set up the history cleanup from step 7. What actually drives the bill up: workflows that run every minute without needing to, processing large files in memory, and saving full data for every single execution. Watch the graphs, not your fears — the platform shows you exactly where every cent goes.

OptionWho Administers ItExternal WebhooksScalingBest For
n8n Cloudn8n's teamWork right awayBy changing plansA team already earning from automations
Your own computerYouOnly via a tunnelNoneLearning without external integrations
Manual VPSEntirely youAfter setupBy handSomeone who knows and enjoys sysadmin work
Platform with a templateThe platform; you just set variablesWork after step 3One click in the dashboardAn entrepreneur who wants a system, not a server

Your First Automation: Don't Let the Server Sit Empty

An empty n8n is like a brand-new gym membership: it looks great, but it doesn't help you lose weight on its own. So I'm offering you a ready-made system I use myself to grow my Telegram channel: it checks subscriptions and hands out access, coupons, promo codes, and materials in return, runs diagnostics, and books consultations. You import it as JSON into your freshly deployed n8n, plug in your bot token, and your first business process is running by that same evening. Grab it on the n8n Telegram Traffic Processor page; the only condition is being subscribed to my channel.

And if you want more than just following my guide — if you want to map your business into processes and figure out which ones to automate first — book a 60-minute consultation: you'll walk away with a 30-day plan where every automation has a clear reason behind it.

The Short Version

  • Cloud n8n is expensive to start with, local hosting can't receive webhooks, and a VPS turns you into a sysadmin — a platform with a template solves all three problems.
  • Five variables settle everything: N8N_ENCRYPTION_KEY, N8N_HOST, N8N_PROTOCOL, WEBHOOK_URL, GENERIC_TIMEZONE. Keep the encryption key stored somewhere separate.
  • Domain first, then variables: a mismatch between WEBHOOK_URL and the real address is behind most "webhooks aren't working" complaints.
  • Database: PostgreSQL, or at minimum SQLite on a persistent volume; without one, redeploying wipes everything out.
  • Cleaning up execution history keeps your bill inside the base plan.
  • Before an update: export your workflows, keep the key in your file, back up the database. After: run a test pass.
  • An empty server earns you nothing — set up your first automation on day one.

Frequently Asked Questions

Do I need to know Docker to follow this guide?

No. The template already includes a ready n8n image, and the platform runs and updates it for you. All you do by hand is fill in environment variables and connect a domain. Understanding what a container is helps, but it's not required to get started.

What happens to my workflows if I stop or redeploy the service?

If your database is PostgreSQL or SQLite on a persistent volume, nothing happens: your workflows, credentials, and history all stay put. If you skipped step 4 and are running SQLite inside the container, the data disappears along with the container. That's the main reason to do step 4 before you build anything valuable.

Can I move workflows from n8n Cloud to my own server?

Yes: export each workflow from the cloud version as JSON, then import it into your own instance. You'll have to reconnect your service credentials, since they're encrypted with a different installation's key. Budget an hour or two for this, depending on how many integrations you have.

Why isn't Telegram or my payment provider sending webhooks to my n8n?

Nine times out of ten, the address in the Webhook node doesn't match the real domain because WEBHOOK_URL and N8N_HOST were never updated after you connected the domain. Check the variables, wait for the restart, and recreate the webhook in the external service. The second most common cause is that the domain isn't serving https yet, and most services only accept secure addresses.

Will I lose my service credentials when I update n8n?

No, as long as the N8N_ENCRYPTION_KEY stays the same before and after. That's exactly why it lives in your environment variables and in your file. Change the key, and every saved credential becomes unreadable, forcing you to reconnect them all from scratch.

Ihor Nikolenko
About the author
Founder of DigitTime, author of the D.N.A. Launch Model

In professional digital since 2008: digital marketing and launches. The visionary behind the NEO platform, the Evolve.Place academy and DigitTime Projects. Writes about what he has tested on his own projects, not retold cases of others.

All articles by the author →
The club’s Telegram channel: systems that sell
Short breakdowns, tools and launches — no fluff. One or two posts a week, no spam.
Join on Telegram
Gift
Stay in the loop
© 2026. All rights reserved