Free tools Windows power users keep installed
One-click scans. No signup required.
You can install n8n on a Linux VPS with npm by running npm install n8n -g, then starting it with n8n or n8n start. The supported Node.js range in the current npm guide is 20.19 through 24.x, inclusive.
Antihost offers VPS plans with one-click n8n, NVMe storage and a 14-day free trial.
There is an important lifecycle warning: n8n documentation says npm-based installs are deprecated from n8n 3.0, scheduled for October 2026. Docker is the documented direction for new deployments. The procedure below is therefore most appropriate for an existing npm installation, a temporary deployment, or a situation where npm is required. Check the current n8n release notes immediately before installing a new production instance.
As an Amazon Associate I earn from qualifying purchases.
What you need before installing n8n
Installing the package is only one part of running n8n on a VPS. You also need to operate the server, network, domain, encryption material, backups and upgrade process.
- A Linux VPS with SSH access and enough storage for your workflows, execution data and logs. Official guidance does not define one universal CPU, memory or disk size; the correct capacity depends on workload and retention.
- A non-root administrative account with permission to use
sudo. Run the application itself as a dedicated non-root user. - A supported Node.js release: 20.19 through 24.x, inclusive.
- npm, which is installed with the normal Node.js distribution.
- A domain name if the instance will be used remotely or by webhook integrations.
- A plan for a reverse proxy or equivalent front end that terminates HTTPS.
- A backup plan covering n8n data, credentials and the encryption material needed to decrypt them.
Do not expose a freshly started n8n process directly to the public internet before you have configured authentication, firewall rules and encrypted transport.
#1 Best Overall
- Includes Raspberry Pi 5 with 2.4Ghz 64-bit quad-core CPU (8GB RAM)
- Includes 128GB Micro SD Card pre-loaded with 64-bit Raspberry Pi OS, USB MicroSD Card Reader
- CanaKit Turbine Black Case for the Raspberry Pi 5
- CanaKit Low Noise Bearing System Fan
- Mega Heat Sink - Black Anodized
npm or Docker: which installation path fits a VPS?
For a new deployment, Docker is increasingly the preferred path in n8n’s documentation because npm installs are being deprecated from n8n 3.0. npm remains useful when you already operate an npm installation, need a quick test environment, or cannot use containers.
| Decision point | npm installation | Docker-based installation |
|---|---|---|
| Lifecycle | Deprecated from n8n 3.0 according to the npm guide; existing installations are expected to continue working temporarily. | Documented direction for new n8n 3.0 installations. |
| Runtime dependency | You maintain a supported Node.js release and npm on the VPS. | The container packages the application runtime; you still maintain the host and container image updates. |
| Upgrade process | Stop the service, install the desired n8n version with npm, test it, then restart. | Pull the intended image, recreate the container and verify persistent data and configuration. |
| Isolation | The n8n process and npm packages share the host operating system. | The application runs inside a container boundary, while storage and networking remain your responsibility. |
| TLS and proxying | Use the same reverse-proxy or load-balancer pattern as any self-hosted deployment. | Use a reverse proxy or load balancer in front of the container. |
| Backups | Back up the n8n data directory, credentials and encryption key or secret. | Back up the persistent volume or bind mount and the same application secrets. |
| Best fit | Existing npm deployments, development and temporary installations. | Most fresh production deployments as n8n 3.0 approaches. |
If you are starting from zero for a new production server, compare the current Docker instructions with this npm procedure before provisioning the VPS. If you must use npm, keep the installation easy to replace later.
Step 1: provision the VPS and connect securely
Create an administrative account
Use your provider’s console or initial root login to create a normal account with administrative privileges. Disable routine work as root, use SSH keys rather than password authentication where possible, and keep the operating system updated before installing application software.
ssh ACCOUNT@SERVER_IP
Replace ACCOUNT and SERVER_IP with the account and address supplied by your host. The exact commands for creating users and enabling sudo differ by Linux distribution, so follow that distribution’s administration procedure.
Apply basic network controls
Allow SSH, HTTP and HTTPS as required by your design. Do not leave the n8n application port open to every source when a reverse proxy can reach it locally. Firewall syntax differs between distributions and hosting providers; make the policy explicit and test it from a second terminal before closing your current session.
Step 2: install and verify a supported Node.js release
n8n’s current npm guide requires Node.js 20.19 through 24.x, inclusive. A VPS image may ship an older release, and a distribution repository may offer a newer major release than n8n supports. Use the Node.js installation method appropriate for your operating system, then verify the result before installing n8n.
Recommended Free Tools
Rank #2
- Includes Raspberry Pi 5 16GB with 2.4Ghz 64-bit quad-core CPU (16GB RAM)
- Includes 128GB Micro SD Card pre-loaded with 64-bit Raspberry Pi OS, USB MicroSD Card Reader
- CanaKit Turbine Black Case for the Raspberry Pi 5
- CanaKit Low Noise Bearing System Fan
- Mega Heat Sink - Black Anodized
node --version
npm --version
The first command must report a version in the 20.19–24.x supported range. If it reports an older major version, install a supported release and open a new shell so the updated binary is on your PATH. If multiple Node.js installations exist, check which executable is being used:
command -v node
command -v npm
Do not continue merely because npm responds: an unsupported Node.js runtime can produce installation errors or an application that fails after an upgrade. Record the working Node.js and npm paths; you may need them in a service definition later.
Step 3: install n8n globally with npm
Once Node.js is verified, install the n8n package globally:
npm install n8n -g
A global install places the n8n command on the npm global binary path. Confirm that the shell can find it:
command -v n8n
n8n --version
If the command is not found, inspect npm’s global prefix and add its binary directory to the service user’s PATH. Do not work around a missing path by installing a second copy under a different account; that makes upgrades and troubleshooting harder.
Install the package as the same non-root account that will run the service, or ensure that the account running n8n can read the executable and write its data directory. Avoid running n8n as root.
Rank #3
- CanaKit Raspberry Pi 5 Essentials Starter Kit
Step 4: start n8n and perform the first check
Start the process interactively first. This lets you see startup messages and errors before introducing systemd or a reverse proxy.
n8n
The equivalent explicit command is:
n8n start
Keep the terminal open while testing. Confirm that the process remains running, note the listening address and port shown in its output, and check that no Node.js compatibility or permission error appears. n8n commonly uses port 5678 when no alternative is configured; treat the startup output and your version’s configuration as authoritative.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minutePC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11At this stage, bind access to the VPS itself while you configure the front end. Do not publish the process directly without TLS and access controls. Complete the initial owner account and authentication setup through the n8n interface before connecting sensitive credentials or production webhooks.
Step 5: keep n8n running after SSH disconnects
An interactive n8n command ends when the SSH session ends. For a VPS, use a service manager so n8n starts on boot, restarts after an unexpected process failure and records logs in a predictable place. systemd is available on most current Linux VPS images.
Create a dedicated service account and data location
Use a dedicated non-root account, such as an account created for this application, and make sure it owns the n8n data directory. The exact home directory and user-management commands depend on your distribution. Keep the account’s home and application data on persistent storage included in your backup plan.
Find the absolute n8n executable path
command -v n8n
Copy the resulting absolute path. A systemd service may have a smaller PATH than your interactive shell, so using the absolute path avoids a common “executable not found” failure.
Quick wins for a faster PC:
Repair Windows errors before they cause bigger problemsFix Now →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Rank #4
- All-in-One Complete Kit: This SANOOV RPi 5 bundle comes with Raspberry Pi 5 4GB RAM single board, active cooler, durable ABS case and screwdriver. No extra parts needed, ready to use right out of the box for beginners and hobbyists
- Powerful Single Board Computer: Equipped with 4GB RAM and high-performance processor, delivers fast running speed for 4K playback, AI projects, programming and daily computing tasks. SANOOV for raspberry pi 5 4GB is equipped with broadcom 64 quad-core Arm Cortex A76 processor with gigabit ethernet and upgraded with IEEE 802.11ac Wi-Fi, Bluetooth 5.0 dual-band 2.4Ghz and 5Ghz and Power Over Ethernet (POE). Upgrading delivers 2-3 x speed vs Pi 4, redefining the experience
- Efficient Active Cooler: Effectively lowers operating temperature and prevents performance throttling. Runs quietly even under long-time heavy load, ensures stable operation all day long. SANOOV RPi 5 4GB kit offer an active cooler, which combines an aluminium heatsink with a high-performance PWM fan. Active cooler is fully compatible with the Pi OS, which can effectively reduce the temperature of RPi5 and ensure its good performance during long-term high load operation
- Sturdy ABS Protective Case: Well-fitted for Raspberry Pi 5 board, can be secured with 4 screws to effectively protect the Pi 5 motherboard from damage, reserves full access to all ports and buttons. SANOOV uses ABS material to produce the case, which has a softer texture and feel. Meanwhile, SANOOV case adopts a layered design for easy disassembly and installation. (Tip: The Case cannot install M.2 HAT Add on Board and Solid State Drive!)
- Wide Application & Full Compatibility: Seamlessly compatible with official OS and mainstream peripheral accessories for Raspberry Pi 5. Whether you are a beginner, student, electronics hobbyist or professional developer, this all-in-one kit meets your diverse needs. It excels in IoT projects, robotics design, retro gaming devices, home media servers and other DIY creations. Backed by a large global community, you can easily find guides, technical support and shared projects online
Create the service unit
Create a unit such as /etc/systemd/system/n8n.service and adapt the account, home directory and executable path:
[Unit]
Description=n8n automation service
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=ACCOUNT
WorkingDirectory=/home/ACCOUNT
ExecStart=/ABSOLUTE/PATH/TO/n8n start
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
Replace the three template values inside the code block with the service account, its real home directory and the path returned by command -v n8n. If your Node.js installation uses a user-specific version manager, make sure the service can access that installation; otherwise install Node.js in a system-wide location intended for services.
Enable, start and inspect the service
sudo systemctl daemon-reload
sudo systemctl enable --now n8n
sudo systemctl status n8n
sudo journalctl -u n8n -f
enable --now starts n8n immediately and enables it at boot. The status command shows whether systemd considers it healthy; the journal command follows live output. Stop the interactive copy before starting the service, or two n8n processes may compete for the same port and data.
If systemd reports a failure, check the executable path, the service user’s permissions, the Node.js path and the working directory. Run the same command as the service account in a shell to reproduce permission and environment problems.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Step 6: configure a domain, firewall and HTTPS reverse proxy
Point DNS at the VPS
Create the required DNS record for your chosen hostname and wait for it to resolve to the VPS address. Use a hostname dedicated to the n8n interface, such as an automation subdomain, rather than exposing the server by a raw IP address.
Proxy traffic to the local n8n process
n8n’s security guidance requires self-hosters to encrypt data in transit by placing a reverse proxy in front of the instance to handle TLS. Traefik and a network load balancer are examples named in the official SSL guidance; Nginx and Caddy can perform the same reverse-proxy role when configured correctly.
Best Value
- 【What you Get】You will get 1*Pi 5 8GB Single Board,1*RasTech Case,1*Active Cooler,1*Screwdriver,1*Installation instructions,12-month free warranty, lifetime service, 24-hour prompt and friendly response.
- 【More Connectors】There are two USB 3.0 ports(5Gbps simultaneously) and two USB 2.0 ports, which triple total bandwidth ,support any combination of up to two cameras or displays. Peak SD card performance is doubled through support for the SDR104 high-speed mode. It provides a smooth desktop experience for you. Offer Gigabit Ethernet and a PCIe interface, along with dual-band Wi-Fi and Bluetooth 5.0/BLE wireless capability. The RasTech Pi 5 Kit use the new 27W 5.1V 5A USB-C power connector.
- 【 Support Dual 4Kp60 Display 】Each of the two microHDMI sockets can control a 4K display at 60 Hertz, now support HDR, offering super HD video for media streaming projects. RPi 5 is the first RPi model that comes with a PCI Express port (PCIe 2.0 x1 with 500 MB/s) to attach SSDs (requires separate M.2 HAT).
- 【 Excellent Chips And Applications】Pi 5 is a full-size Pi computer using silicon built in-house at Pi. The RP1 “southbridge” provides the bulk of the I/O capabilities for Pi 5. Pi 5 is more friendly and convenient in the development of Internet of Things, Web development, machine identification, automatic control and other electronic equipment applications and network.
- 【 Faster CPU, Better GPU 】 Pi 5 features a Broadcom BCM2712 64-bit quad-core Arm Cortex-A76 processor running at 2.4GHz, it delivers a 2–3× increase in CPU performance relative to RaspberryPi 4. The 800MHz VideoCore VII GPU is compatible to OpenGL ES 3.1 and Vulkan 1.2, substantial uplift in graphics performance. Pi 5 Offers lightning-fast CPU speed, a PCI Express interface, a Real Time Clock (RTC) and a power button and runs significantly cooler than Pi 4.
The proxy should accept HTTPS from the internet and forward requests to the local n8n listener. A minimal Nginx-style location illustrates the required shape:
location / {
proxy_pass http://127.0.0.1:5678;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
Use the syntax and certificate automation procedure documented by your selected proxy. The upstream address and port must match the address n8n is actually listening on. If you change the n8n port, update the proxy and firewall policy together.
Keep the application port private
Where possible, bind n8n to localhost and allow only the reverse proxy to reach it. Permit public access to the proxy’s HTTPS port, not to the backend port. If your hosting environment requires a load balancer, restrict the backend security group to the load balancer’s network.
Set the external URL consistently
The public hostname, protocol and webhook URL must agree with the reverse-proxy configuration. Configure the n8n host and URL settings using the environment-variable names supported by your installed n8n version, then restart the service. A mismatch can produce incorrect callback addresses, failed OAuth redirects or webhooks that point to an internal address. Do not copy a setting from an older n8n release without checking its current configuration reference.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Step 7: protect credentials and prepare backups
n8n stores workflow information and credentials on the VPS. Credentials are protected with encryption material that must remain available to decrypt existing data. Backing up only the workflow files is not enough.
- Identify the actual n8n data directory used by the service account and include it in backups.
- Store the n8n encryption key or equivalent secret separately from the VPS, with restricted access.
- Protect environment files containing secrets with permissions readable only by the service account and administrators.
- Back up the database or embedded data store according to the storage mode you selected.
- Test restoration on a separate instance. A backup that has never been restored is not a verified recovery plan.
- Decide how long to retain execution data and logs so storage growth does not unexpectedly fill the VPS.
When rebuilding a server, restore the data and the matching encryption material before attempting to open stored credentials. Losing the encryption material can make encrypted credentials unusable even when the data files survive.
Step 8: upgrade an npm installation safely
Plan upgrades rather than running a global npm command during a busy production window. Read the release notes for the target n8n version and verify that its Node.js requirement still fits your installed runtime.
- Back up n8n data, credentials and encryption material.
- Record the currently installed n8n and Node.js versions.
- Stop the systemd service:
sudo systemctl stop n8n. - Install the intended n8n release with npm. For the latest package allowed by your compatibility plan, the command is
npm install n8n -g; pin a specific version when your change process requires repeatability. - Run
n8n --versionand start the service. - Inspect
sudo systemctl status n8nandsudo journalctl -u n8n, then test the editor, a representative workflow and a webhook. - Keep a rollback plan. npm package rollback alone may not undo a data migration, so retain the backup and follow the target release’s migration guidance.
Because npm installs are deprecated from n8n 3.0, treat future upgrades as a possible migration decision rather than assuming the npm route will remain the long-term default.
Troubleshooting common VPS installation failures
| Symptom | Likely cause | What to check |
|---|---|---|
n8n: command not found |
The npm global binary directory is not on the account or systemd PATH. |
Run command -v n8n, inspect the npm prefix and use the absolute path in the service unit. |
| npm rejects the Node.js runtime | The VPS is outside the supported 20.19–24.x range. | Run node --version, remove conflicting installations from the shell path and install a supported release. |
| Service starts, then exits | Wrong executable path, permissions, missing environment variables or a port already in use. | Read journalctl -u n8n, run the command as the service account and check for another n8n process. |
| The editor works locally but not through the domain | DNS, firewall, proxy upstream or TLS configuration is incorrect. | Resolve the hostname, test the local listener, inspect proxy logs and confirm that HTTPS reaches the proxy. |
| Webhooks or OAuth callbacks use an internal URL | The external host, protocol or webhook URL does not match the public proxy URL. | Review n8n URL-related settings and the X-Forwarded-Proto and host headers sent by the proxy. |
| Stored credentials cannot be decrypted after migration | The original encryption material was not restored or was changed. | Restore the matching key or secret and verify its permissions before opening the data. |
Production readiness checklist
- Node.js reports a supported 20.19–24.x version.
- n8n runs under a non-root account.
- The service starts automatically and survives an SSH disconnect and a VPS reboot.
- The application backend is not unnecessarily exposed to the public internet.
- DNS points to the correct VPS or load balancer.
- TLS terminates at a configured reverse proxy or equivalent front end.
- Authentication is enabled and the initial owner account is protected.
- Credentials, data and encryption material are included in tested backups.
- Logs, disk usage and service failures are monitored.
- You have a documented npm upgrade and rollback procedure.
- You have decided whether the installation should migrate to Docker before n8n 3.0 becomes the normal path for new deployments.
Should you use npm for a new VPS installation?
Use npm when you are maintaining an existing installation, need a short-lived test environment or have a specific operational reason to avoid containers. For a new production VPS, the deprecation notice changes the decision: Docker is the documented direction for new n8n 3.0 deployments, while npm should be treated as a transitional route. Whichever method you choose, the operational obligations remain: secure SSH access, supported software, a private backend, HTTPS, backups, encryption-key protection and planned upgrades.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitches




