n8n VPS
Run n8n on your own Linux server. We install the Docker container and keep it private; you claim it over SSH, configure HTTPS, connect your services and maintain your workflows.
Who it suits
Automations you want to own: webhooks, scheduled jobs, syncing data between services, workflows that call AI and other APIs. Self-hosting the community edition means no n8n subscription, but the credentials, updates and backups are yours. n8n's own cloud is the managed alternative.
Which plan
Standard (2 vCPU, 4 GB) is the smallest plan we offer it on, leaving room for Docker and for workflows that hold data in memory. Choose Extreme for many executions at once or workflows that handle large files.
What we install
n8n connects apps and APIs with visual workflows. It runs in Docker with its data, including the encryption key for saved credentials, in the n8n_data volume. Its port is bound to localhost: you reach it through an SSH tunnel until you put it behind a domain with HTTPS.
- ca-certificates
- curl
- docker-ce
- docker-ce-cli
- containerd.io
- docker-buildx-plugin
- docker-compose-plugin
- docker-ce
- docker-ce-cli
- containerd.io
- docker-buildx-plugin
- docker-compose-plugin
From order to ready
- Server ready. We email you when the server is running, and you can log in with SSH. The installer starts on that same first boot.
- Installer running. It logs to
/var/log/vps9-setup.log;tail -fit to watch. - Application ready. This can be minutes after SSH works. The installer writes its exit code to
/var/lib/vps9-setup.exit; a value of 0 means installation succeeded. n8n is ready whendocker psshows the n8n container up andcurl -I http://127.0.0.1:5678answers on the server. Pulling the image takes most of the install time.
What you still do
- From your computer, run
ssh -L 5678:127.0.0.1:5678 root@<your IPv4>and leave it open. - Open
http://localhost:5678in Chrome, Firefox or Edge and create the owner account. Safari won't keep n8n's secure login cookie over plain http. - Before connecting services or using webhooks, give n8n a domain with HTTPS: rack4.io/help/self-host-n8n shows Caddy in front, keeping your data.
Exposure and security
Port 5678 is bound to 127.0.0.1, so n8n's owner setup page can't be reached from the internet. You open it through an SSH tunnel, where your browser treats http://localhost as secure and n8n's secure login cookie works. Webhooks from other services need a public HTTPS address, so add a domain with Caddy or nginx in front before you rely on them or store credentials.
Backups and upgrades
The container runs n8n's latest image. To update, back up the volume, docker pull docker.n8n.io/n8nio/n8n and re-create the container with the same volume, or move to the Compose file in our guide, which keeps the same data. Back up n8n_data with its encryption key: without it, restored credentials can't be decrypted. We run the hardware, the network and the first-boot install; after that, n8n is yours to run, and we don't manage or update it for you. Off-site backups of the whole disk are an optional paid add-on; they copy the disk as it is at one moment, so keep the app's own backups as well.