n8n

n8n

DevOps · Version 2.40.7 · Debian 13

Your Seed is up within seconds and sets up n8n on its first boot. A few minutes later the app is ready to use.

n8n connects your applications and services through workflows that run on your own Seed. When someone submits your contact form, a webhook starts a workflow that adds the contact to your CRM, opens a ticket and posts the request to your team chat. You build these flows in the editor by dragging nodes onto the canvas and connecting them. Hundreds of services come with ready-made integrations, and you reach any other service through an HTTP request to its API. AI agent nodes summarize or classify incoming requests using the API key of your AI provider, and where no integration fits, you write the step in JavaScript or Python. Your credentials stay encrypted on your Seed. The n8n Community Edition is licensed under the Sustainable Use License, a fair-code license, and is free of charge for your own use.

After the first boot

Once the Seed is running, it installs Docker and starts n8n, the task runner container and Traefik, which serves n8n over HTTPS. The installation usually takes 1 to 4 minutes. Afterwards, /root/ready.txt shows the address of your instance. If it stops early, /root/failed.txt gives the reason, such as an invalid address in ADMIN_EMAIL, and /root/n8n-install.log shows how far it got. As long as neither file exists, the installation is still running.

To sign in to n8n you need an email address and a password. The address is the one you set in ADMIN_EMAIL when creating the Seed, or admin@<Seed hostname> if you left the field empty. The password is randomly generated, and both are stored in /root/n8n-credentials.txt together with the address of your instance. n8n creates your owner account on its first start from environment variables holding the email address and a hash of the password, while n8n is reachable only locally on the Seed. Only then does Traefik expose n8n to the internet, and the installation removes the variables again. Nobody sees the sign-in page before your account exists. You can change your email address and password at any time under Settings > Personal, and Enable 2FA in the Security section of that page turns on two-factor authentication.

Invite more people under Settings > Users with Invite. Without an SMTP server, copy the invitation link and share it yourself. In the Community Edition, each invited person works with their own workflows and credentials, and n8n offers paid plans for sharing between people. n8n sends email through an SMTP server of your choice. Add its details as SMTP variables under environment of the n8n service in /root/n8n-compose/compose.yaml, then run docker compose up -d in that directory. From then on, n8n delivers invitations and password reset links itself.

The configuration lives in /root/n8n-compose. compose.yaml defines the three containers traefik, n8n and task-runners, and .env holds the versions, the hostname, the time zone (Europe/Berlin) and the token the task runner container uses to authenticate with n8n. Code nodes in JavaScript and Python run in that separate container, apart from n8n. n8n keeps workflows, credentials, the execution history and the key it uses to encrypt credentials in the Docker volume n8n-compose_n8n_data, so include that volume in your backups. Files for the Read/Write Files from Disk node go into /root/n8n-compose/local-files, which n8n sees as /files. A Webhook node's Production URL starts with https://<Seed hostname>/webhook/, its Test URL with https://<Seed hostname>/webhook-test/.

To update, set N8N_VERSION in .env to the new version, then run docker compose pull followed by docker compose up -d in /root/n8n-compose. The same variable sets the version of the task runner container, so both stay in step. Each update pulls up to about 2.6 GB of new images, and the old ones stay on the Seed. Once the new version is running, remove the old images with docker image prune -af. Traefik is updated the same way through TRAEFIK_VERSION, and Docker with apt update && apt upgrade. Before moving to a new major version such as n8n 3.0, read the n8n release notes. When the Seed reboots, all three containers start again on their own.

For external services to deliver webhooks reliably, we recommend your own domain. Point its A record to the Seed's IPv4 address and run seed-tls domain n8n.example.com over SSH. n8n then uses the domain for all webhook URLs as well.

Our guide Workflow Automation by Self-Hosting n8n walks through two complete examples with the dataforest API. One workflow takes a snapshot automatically before a system upgrade, the other emails a cost report for your Seeds. This Seed already covers the installation part, so start at “Building Your First Workflow”.

Suitable models

Entry

The entry point for low CPU load


Shared vCPUs
Xeon Gold class CPU
DDR4 ECC RAM
For low CPU load
3-way replication via Ceph
10 TB traffic included
Up to 1 Gbit/s connectivity

from
7,29 €
/ Month
from
0,011694 €
/ Hour
Recommended

Standard

All-rounder for variable production load


Shared vCPUs
AMD EPYC 9655 (Turin)
DDR5 ECC RAM
For variable production load
3-way replication via Ceph
20 TB traffic included
Up to 2.5 Gbit/s connectivity

from
8,93 €
/ Month
from
0,014303 €
/ Hour

Performance

Exclusive compute for sustained load


Dedicated vCPUs
AMD EPYC 9575F (Turin)
DDR5 ECC RAM
For sustained load
3-way replication via Ceph
20 TB traffic included
Up to 10 Gbit/s connectivity

from
44,03 €
/ Month
from
0,070561 €
/ Hour

All prices incl. 19% VAT

Show all 15 suitable models

Entry

ModelCPU RAM StorageTraffic BandwidthPrice/hourPrice/month
S1 Core2 GB20 GB10 TB1 Gbit/s
0,005848 €
3,65 €
M2 Cores4 GB40 GB10 TB1 Gbit/s
0,011694 €
7,29 €
L4 Cores8 GB80 GB10 TB1 Gbit/s
0,023389 €
14,59 €
XL8 Cores16 GB160 GB10 TB1 Gbit/s
0,038312 €
23,91 €

Standard

ModelCPU RAM StorageTraffic BandwidthPrice/hourPrice/month
XS1 Core4 GB40 GB20 TB2.5 Gbit/s
0,014303 €
8,93 €
S2 Cores8 GB80 GB20 TB2.5 Gbit/s
0,024579 €
15,34 €
M4 Cores16 GB160 GB20 TB2.5 Gbit/s
0,049158 €
30,68 €
L8 Cores24 GB240 GB20 TB2.5 Gbit/s
0,093740 €
58,49 €
XL10 Cores32 GB360 GB20 TB2.5 Gbit/s
0,120608 €
75,26 €
XXL16 Cores64 GB500 GB20 TB2.5 Gbit/s
0,188623 €
117,70 €

Performance

ModelCPU RAM StorageTraffic BandwidthPrice/hourPrice/month
S2 Cores16 GB80 GB20 TB10 Gbit/s
0,070561 €
44,03 €
M4 Cores32 GB160 GB20 TB10 Gbit/s
0,141122 €
88,06 €
L8 Cores64 GB240 GB20 TB10 Gbit/s
0,277666 €
173,26 €
XL16 Cores128 GB360 GB20 TB10 Gbit/s
0,548467 €
342,24 €
XXL32 Cores192 GB500 GB20 TB10 Gbit/s
1,011118 €
630,94 €

Create it via the Public API

A single call creates this Seed. Replace the placeholders starting with $ with your own values, such as your API token and the IDs from your account. Go to the Public API

bash
curl -X POST "https://api.dataforest.net/api/v1/public/seeds" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "plan": "lines/standard/models/std1-xs",
  "location": "fra01",
  "source": {
    "type": "app",
    "ref": "apps/n8n/versions/n8n-v2.40.7",
    "environment_variables": {
      "ADMIN_EMAIL": "$ADMIN_EMAIL"
    }
  },
  "project_id": "$PROJECT_ID",
  "name": "n8n"
}'

Our cloud newsletter

Stay up to date and get valuable tips by subscribing to our newsletter.

Any questions?

Our experts are happy to help. You'll be surprised how fast we are.

Background image