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
- Why hosting for n8n to host opensource N8N?
- Who should choose Hostinger for n8n
- Plan sizing and requirements
- Recommended architecture
- Step-by-step deployment on a Hostinger VPS
- Security and reliability hardening
- Updates and maintenance
- Performance tuning as you grow
- Pricing and value perspective
- Pros and cons
- Alternatives to consider
- Verdict
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.
Recommended architecture
- 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
- 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.
- 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.
- 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.
- 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
}
- 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.
