Hostinger for n8n

Why hosting for n8n to host opensource N8N?

n8n is a flexible, self-hostableautomation platform. Hosting it yourself gives you control over data, costs, and performance. Hostinger’s VPS offers a straightforward path to deploy n8n with Docker, SSL, and persistent storage, along with snapshots, a user-friendly control panel, and responsive support.

Table of Contents

Who should choose Hostinger for n8n

  • Teams are consolidating workflows from tools like Zapier/Make to reduce recurring costs.
  • Startups need an affordable base for webhooks, data syncs, and background jobs.
  • Engineers who want Docker-based control without the overhead of a full Kubernetes stack.
  • SMBs need predictable performance, static IPs, and straightforward backups.

Plan sizing and requirements

  • CPU/RAM: Start with 2 vCPU and 2–4 GB RAM for light to moderate workflows. Scale to 4 vCPU and 8 GB for higher webhook traffic or queue workers.
  • Storage: 40–80 GB NVMe for n8n, Postgres, logs, and snapshots.
  • OS: Ubuntu LTS (22.04 or 24.04) for the widest package support.
  • Network: Open 22, 80, 443. Keep the n8n internal port (5678) private behind a reverse proxy.
  • Optional: Redis if you enable queue mode and multiple workers.
  • Single VPS with Docker Compose: n8n + Postgres + Caddy (or Nginx) for TLS.
  • DNS on your domain is pointing to the VPS A record.
  • Persistent volumes for both n8n and Postgres data.
  • Snapshots and off-server database backups as a safety net.

Step-by-step deployment on a Hostinger VPS

  1. Prepare the server
  • Create a new Ubuntu VPS, add your SSH key, and note the static IP.
  • Point a subdomain (for example, automation.yourdomain.com) to the VPS IP via an A record.
  1. Basic hardening
  • Create a non-root user with sudo and disable root SSH once tested.
  • Enable a firewall to allow ports 22, 80, and 443.
  • Keep the system updated regularly.
  1. Install Docker and Compose
bashsudo apt-get update
sudo apt-get install -y ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
  https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo $VERSION_CODENAME) stable" \
  | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo usermod -aG docker $USER

Log out and back in so your user can run Docker.

  1. Create Docker Compose stack
    Create a project folder (for example, /opt/n8n) with the files below.

docker-compose.yml:

textversion: "3.8"

services:
  postgres:
    image: postgres:15
    restart: unless-stopped
    environment:
      POSTGRES_USER: n8n
      POSTGRES_PASSWORD: change_me_strong_pw
      POSTGRES_DB: n8n
    volumes:
      - db_data:/var/lib/postgresql/data

  n8n:
    image: n8nio/n8n:latest
    restart: unless-stopped
    depends_on:
      - postgres
    environment:
      DB_TYPE: postgresdb
      DB_POSTGRESDB_HOST: postgres
      DB_POSTGRESDB_PORT: 5432
      DB_POSTGRESDB_DATABASE: n8n
      DB_POSTGRESDB_USER: n8n
      DB_POSTGRESDB_PASSWORD: change_me_strong_pw
      N8N_HOST: automation.yourdomain.com
      N8N_PORT: 5678
      N8N_PROTOCOL: https
      N8N_EDITOR_BASE_URL: https://automation.yourdomain.com
      WEBHOOK_URL: https://automation.yourdomain.com/
      N8N_ENCRYPTION_KEY: change_me_long_random_key
      N8N_DIAGNOSTICS_ENABLED: "false"
      N8N_BASIC_AUTH_ACTIVE: "true"
      N8N_BASIC_AUTH_USER: admin
      N8N_BASIC_AUTH_PASSWORD: change_me_strong_pw
    volumes:
      - n8n_data:/home/node/.n8n
    expose:
      - "5678"

  caddy:
    image: caddy:2
    restart: unless-stopped
    depends_on:
      - n8n
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile:ro
      - caddy_data:/data
      - caddy_config:/config

volumes:
  db_data:
  n8n_data:
  caddy_data:
  caddy_config:

Caddyfile:

textautomation.yourdomain.com {
    encode gzip zstd
    tls you@example.com
    reverse_proxy n8n:5678
}
  1. Launch the stack
bashdocker compose pull
docker compose up -d

After DNS propagates, visit https://automation.yourdomain.com to finish n8n’s onboarding.

Security and reliability hardening

  • Secrets: Replace all placeholder passwords and keys with long, unique values. Store them in an .env file and reference via ${VAR} in Compose.
  • TLS: Caddy auto-issues and renews Let’s Encrypt certificates. Keep port 80 open for HTTP-01 challenges.
  • Access control: Keep editor Basic Auth enabled, and restrict public endpoints to only what workflows need.
  • Firewall: Allow only 22, 80, 443; keep Postgres internal to Docker.
  • Snapshots and backups: Use VPS snapshots before upgrades and schedule pg_dump backups to off-server storage.

Updates and maintenance

  • Application updates:
bashdocker compose pull n8n
docker compose up -d n8n
  • Database maintenance: Run periodic VACUUM and keep query load light with indexes for large tables.
  • Logs and health: Watch Docker logs, add a simple healthcheck, and set up an external uptime monitor for the domain.

Performance tuning as you grow

  • Queue mode: Add Redis and split n8n into separate web and worker containers for heavy webhook or job throughput.
  • Scaling vertically: Increase CPU/RAM on the VPS for fast wins.
  • Caching: Use Redis for rate limits, caches, and consistent webhook performance.
  • Storage: Move large file artifacts to object storage and keep the VPS lean.

Pricing and value perspective

  • Entry-tier VPS is typically sufficient for prototypes and low to moderate automation loads.
  • Mid-tier VPS is a better target for production with higher webhook concurrency, nightly batch jobs, and workers.
  • Hostinger’s value proposition is strong for teams that prefer a single, controllable monthly cost with snapshots and straightforward support over per-workflow billing.

Pros and cons

Pros

  • Fast setup with Docker and easy SSL via Caddy.
  • Good cost-to-performance for persistent services like n8n.
  • Snapshots and a clean control panel reduce operational friction.
  • Root access for full flexibility.

Cons

  • No one-click, fully managed n8n; you maintain Docker, updates, and backups.
  • A single VPS is a single point of failure unless you add redundancy.
  • Advanced scaling (multi-worker, HA Postgres) adds complexity you must manage.

Alternatives to consider

  • DigitalOcean or Vultr: Similar VPS model with strong docs and broad community examples.
  • Hetzner: Excellent price/performance in EU regions if latency fits your users.
  • Fly.io/Render/Railway: Easier app deployment and scaling; higher cost at sustained usage.
  • Managed n8n providers: Faster start, fewer ops, but recurring costs scale with usage.

Verdict

Hostinger’s VPS is a practical, budget-friendly home for n8n. You get predictable performance, control over data, and an uncomplicated path to production with Docker, Postgres, and Caddy. If you are comfortable managing a small Docker stack and can schedule backups, Hostinger delivers strong value for both early-stage and growing automation workloads.