Self-Host n8n for AI Automation: Cost-Effective, Scalable Workflow Automation on Hetzner

Benefits of Self-Hosting N8N

The benefits of self-hosting n8n compared to using the SaaS (n8n Cloud) version center around control, cost, customization, and data privacy, while the SaaS option excels in ease of use and maintenance. Here is a detailed comparison based on recent community insights and expert analysis:

Benefit AspectSelf-Hosting n8nn8n Cloud (SaaS)
CostMore cost-efficient — no subscription fees beyond server costs (e.g., VPS on Hetzner from ~ $5 5/month)Higher ongoing monthly fees (~$24 to $60/month or more), based on usage and plans
Control & CustomizationFull control over environment, configurations, and integrations; ability to customize workflows and backend as neededLimited backend customization; standardized environment for simplicity
Data Privacy & SecurityData stays on your infrastructure, giving you full ownership and control over security policiesData stored on external servers may raise privacy concerns for sensitive workflows
Maintenance & UpdatesYou are responsible for installation, updates, backups, and uptime, requiring technical skills and time investmentFully managed by the n8n team; automatic updates, backups, and uptime guarantees
ScalabilityScalability depends on your server resources and setup; manual scaling is requiredAutomatic scalability with managed infrastructure
SupportCommunity support, unless you purchase enterprise support; no official SLA by defaultOfficial support is included with the SLA, depending on the plan
Ease of UseRequires technical knowledge for setup and maintenance; more complex for non-technical usersZero setup; ready to use immediately with minimal technical skills required
Feature ParityCore automation features are the same, including unlimited workflows and executionsSame core features; some convenience features like pre-configured OAuth integrations may be easier

What are the minimum system requirements for self-hosting n8n?

The minimum system requirements for self-hosting n8n are generally as follows:

  • CPU: At least 2 cores (modern multi-core processor recommended; 4 cores preferred for better performance)
  • RAM: Minimum 2 GB, with 4 GB or more recommended for smoother operation, especially with multiple or complex workflows
  • Storage: At least 20 GB of free disk space, preferably SSD for faster read/write speeds (30-40 GB recommended for more comfortable use)
  • Network: Stable internet connection for accessing external services and APIs

Software requirements:

  • Operating System: Linux (Ubuntu, Debian, CentOS, etc.), macOS, or Windows
  • Node.js version 16 or later (18.x LTS recommended)
  • Database: PostgreSQL is recommended for production, but MySQL or SQLite can also be used
  • Optional but recommended: Docker and Docker Compose for containerized deployment
  • Reverse proxy (Nginx or Apache) for HTTPS setup
  • Process managers like PM2 or systemd for managing the n8n process

In this article, we are hosting n8n on Hetzner.com using cax11 server type, which has Arm64 2vCPUs and 4GB of RAM, and 40GB of SSD hosting on Ubuntu 24.04.

Benefits of Self-Hosting n8n on Hetzner

Self-hosting n8n on Hetzner offers several notable benefits, especially for users who want control, cost-efficiency, and customization in their automation platform:

  • Cost-effectiveness: Hetzner provides affordable cloud servers (e.g., CX11 at around €4.50/month), making self-hosting n8n significantly cheaper than SaaS alternatives, especially for unlimited workflows and executions without subscription fees.
  • Full control over data and infrastructure: You retain complete sovereignty over your workflows, credentials, and data since everything runs on your server. This is crucial for compliance with regulations like GDPR or HIPAA and for protecting intellectual property.
  • Customization and flexibility: Self-hosting allows you to modify n8n’s codebase, develop custom nodes, tailor authentication, and integrate deeply with internal or legacy systems that may not be accessible from the cloud.
  • Integration with internal systems: Hosting on Hetzner lets you connect directly to private databases, internal APIs, or resources behind firewalls without exposing them externally, improving latency and security.

How to install and set up n8n on my server?

Step 1: Install dependencies and libraries

SSH to your server and run the following commands

Enable and start the Docker service by running the following command

Step 3: Create Docker Compose for n8n

Create a new folder called n8n mkdir n8n && cd n8n and in this folder, create a docker-compose.yml file with the following content

Create a .env file in the n8n folder with the following content

The provided Docker Compose setup is how you can configure databases and queues for scalability with the following mechanisms:

1. PostgreSQL as the Central Database

  • PostgreSQL container stores all persistent data, including workflows, credentials, execution logs, and user data.
  • Using PostgreSQL instead of the default SQLite enables better concurrency, reliability, and scalability for production workloads.
  • The database container uses a persistent volume db_storageto ensure data durability across container restarts.
  • Health checks ensure the database is ready before n8n services start, improving stability.

2. Redis as the Queue Backend

  • Redis container serves as the queue system backend for n8n's queue mode EXECUTIONS_MODE=queue
  • Redis manages workflow execution jobs asynchronously, allowing n8n to scale horizontally by distributing workload across multiple worker containers.
  • The Redis container also uses a persistent volume redis_storageto maintain data durability.
  • Health checks ensure Redis is available before dependent services start.

3. n8n Main, Worker, and Webhook Services

  • The n8n main service acts as the API and UI server, handling incoming requests and managing workflows.
  • The n8n-worker service runs workflow executions pulled from the Redis queue. You can scale this by adding more worker containers to handle higher loads concurrently.
  • The n8n-webhook service handles incoming webhook requests separately, improving responsiveness and scalability.
  • All these services share the same PostgreSQL database and Redis queue, ensuring consistent state and distributed processing.

4. Dependency and Startup Order

The Compose file uses depends_on with health checks to ensure PostgreSQL and Redis are fully operational before starting n8n services, preventing race conditions and connection errors.

Run Docker Compose

Run the following command to spin up n8n docker compose up -d

You can scale the n8n-worker service horizontally if needed by adding replicas: docker-compose up -d --scale n8n-worker=3

Step 4: Configure Reverse Proxy with HTTPS

Install Nginx and Certbot using the following command

Create a new file with your domain name as the file name in the /etc/nginx/sites-available/

Next, enable the Nginx Site by running sudo ln -s /etc/nginx/sites-available/yourdomain /etc/nginx/sites-enabled/

Now in your DNS provide create a new A record to point your domain name to the server's IP address. Next, let's generate the SSL certificate by running sudo certbot --nginx -d yourdomain.com and update the content of your domain sites-available file

Now, restart your nginx by running sudo service nginx restart and visit your domain, and you should see the following

Create your account and do the initial setup, and you will see the N8N dashboard

FAQs

How do I update and maintain my self-hosted n8n instance?

To update and maintain your self-hosted n8n instance smoothly and safely, here is a step-by-step process tailored for Docker-based setups, with additional best practices from recent expert guides:

Step 1: Backup Your Data

  • Back up your workflows and credentials stored in your persistent volume (e.g., n8n_storage).
  • If you use PostgreSQL, perform a database dump:

Backing up ensures you can restore your data if anything goes wrong during the update.

Step 2: Pull the Latest Docker Image

Update your local Docker image to the latest stable version:

docker pull n8nio/n8n:stable

Or specify a particular version tag if you want to lock to a version.

Step 3: Restart Your Containers with the New Image

If you use Docker Compose, restart the stack to apply the new image:

This stops the old containers and starts new ones with the updated image, preserving your volumes and environment variables.

What features are limited or unavailable in the free self-hosted community edition?

FeatureCommunity EditionPaid Plans (Enterprise, Pro)
Unlimited workflows/executions
Custom Variables
Environments
External Secrets
External Binary Storage
Log Streaming
Multi-main Mode (clustering)
Projects (team organization)
SSO (SAML, LDAP)
Sharing workflows/credentialsLimited
Git Version Control
Workflow History1 day (with registration)Extended, unlimited

Conclusion

Self-hosting n8n offers significant advantages in terms of control, cost savings, customization, and data privacy, making it an excellent choice for users and organizations with the technical capability to manage their infrastructure. Platforms like Hetzner provide affordable, high-performance servers that enable scalable and secure deployments tailored to your needs. While the setup and maintenance require some technical effort—such as installing dependencies, configuring Docker Compose with PostgreSQL and Redis, and setting up a reverse proxy with HTTPS—the flexibility and ownership you gain are substantial.

For those seeking simplicity and minimal maintenance, managed hosting solutions or the official n8n Cloud remain attractive alternatives, offering ease of use and official support at a higher recurring cost. Ultimately, the decision hinges on your priorities: whether you value full control and cost efficiency or prefer convenience and managed services. With the right setup and best practices in place, self-hosting n8n empowers you to build powerful, scalable automation workflows while retaining full ownership of your data and environment.

Related Blogs

Looking to learn more about and self-host n8n for ai automation? These related blog articles explore complementary topics, techniques, and strategies that can help you master Self-Host n8n for AI Automation: Cost-Effective, Scalable Workflow Automation on Hetzner.