You can install n8n on a Linux VPS with npm by installing a supported Node.js release, running npm install n8n -g, and starting it with n8n or n8n start. For a production deployment, that command is only the application install: you must also keep the process alive after SSH disconnects, restrict network access, configure a domain and reverse proxy, terminate HTTPS, and plan backups.
Antihost offers VPS plans with one-click n8n, NVMe storage and a 14-day free trial.
There is an important timing issue. n8n’s npm installation guide says npm-based installs are deprecated from n8n 3.0. The one-line setup guidance schedules n8n 3.0 for October 2026 and directs new installations toward Docker. The npm procedure below remains useful for an existing npm estate, a temporary deployment, or a controlled test, but check the current n8n release notes before starting a brand-new VPS.
As an Amazon Associate I earn from qualifying purchases.
What you need before installing
This procedure assumes a Linux VPS, an SSH-capable administrative account that is not root, and permission to use sudo for operating-system changes. You also need a firewall policy, a hostname you control if the instance will be accessed over the internet, and a plan for storing n8n data and secrets.
- Operating system: a supported Linux distribution with package-management and service-management tools.
- Access: SSH login using your administrator account and, ideally, key authentication rather than a password.
- Node.js: n8n’s current npm guide requires Node.js 20.19 through 24.x, inclusive. Verify the exact version after installation; do not assume the distribution’s default package is suitable.
- Network: allow SSH only from the addresses that need it, and expose the n8n web endpoint through a reverse proxy rather than directly opening the application port to the internet.
- Storage and recovery: decide where the n8n database, workflow data, credentials, and encryption material will live, and how they will be backed up.
The official material retrieved for this procedure does not establish a universal CPU, memory, disk, or workflow-throughput requirement. Size the VPS from your executions, concurrency, binary data, database choice, and retention policy rather than treating an undocumented minimum as a guarantee.
#1 Best Overall
- BLUE LIGHT BLOCKING GLASSES: Our blue light glasses for women boast UV400 protection, blocking harmful blue rays from computer screens. With these bluelight glasses women, you can enjoy gaming, reading, or watching TV with no worries of eye strain.
- EYE RELIEF: Our blue light glasses are engineered to reduce blurry vision or strain caused by prolonged screen time. These womens blue light glasses aid in better sleep by preventing blue light from disrupting your natural sleep cycle, helping you fall asleep faster and enjoy a more restful night's sleep, making them the perfect christmas present.
- COMFORTABLE: Crafted from durable material, our trendy blue light glasses for woman or blue light glasses men ensure long-lasting comfort. The high-transmittance lenses accessories, gamer gifts for men, help keep your eyes relaxed. Perfect stocking stuffers, gifts for gamers men, christmas gifts for men, halloween costumes.
- LIGHTWEIGHT: These clear blue light glasses feature a lightweight frame, meaning they’ll stay comfy for long-term wear. Perfect as blue blockers glasses for women or mens blue light glasses, these non-prescription fake glasses for men can be worn throughout the day. The blue light blocking glasses women feature polycarbonate HD lenses, which are anti-reflective and restore true color.
- WORRY-FREE PURCHASE: If you experience any issues, our support team is ready to assist you quickly. These are the perfect costume glasses for cosplay dressing up.
npm or Docker for a new VPS?
The commands in this article describe npm because that is the requested installation method. However, the method is transitional: n8n positions Docker as the documented direction for new installations as version 3.0 approaches. Use the following decision table before you provision a long-lived server.
| Consideration | npm installation | Docker installation |
|---|---|---|
| Lifecycle | npm-based installs are deprecated from n8n 3.0; existing installations are expected to continue temporarily. | Documented direction for new n8n 3.0 installations. |
| Runtime management | You own the Node.js version, npm prefix, global package, and operating-system integration. | The application runtime is packaged with the container image; the host still needs Docker maintenance. |
| Isolation | n8n and its dependencies share the VPS filesystem and process environment. | Container boundaries make repeatable deployments and rollback easier. |
| Upgrades | Coordinate Node.js compatibility, npm package updates, service restarts, and rollback of the global package. | Pull and run a tested image version, while preserving volumes and environment configuration. |
| TLS and proxying | You still need a reverse proxy or equivalent front end to provide HTTPS. | You still need a reverse proxy or equivalent front end to provide HTTPS. |
| Backup scope | Back up the host’s n8n data, credentials, encryption key, configuration, and any external database. | Back up the same application data plus the container configuration and persistent volumes. |
| Best fit | Existing npm deployments, local development, testing, or a deliberately transitional server. | A fresh production deployment being started near the n8n 3.0 transition. |
If you choose npm for compatibility with an existing process, record that decision and set a review date. A successful installation today does not remove the need to migrate later.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Step 1: connect to the VPS and prepare the account
- Connect over SSH. From your workstation, use your provider’s hostname or IP address, for example
ssh [email protected]. Replace the example address with your server’s real address. - Update the operating system. Use the update and security-update procedure documented for your distribution, then reboot if the kernel or other core packages require it.
- Confirm administrative escalation. Run a harmless command such as
sudo -v. If it fails, fix the account’s sudo policy before installing software. - Choose a service identity. You can run n8n under the administrative account for a temporary test. For a persistent service, create a dedicated unprivileged account and a data directory owned by that account. Do not run workflow automation as root unless you have a specific, reviewed reason.
Keep the initial SSH session open until the service has been tested. Closing a terminal does not safely daemonize a foreground n8n process; that is handled later with a service manager.
Step 2: install a supported Node.js release
n8n’s current npm documentation states: “n8n requires a Node.js version between 20.19 and 24.x, inclusive.” That range is the compatibility boundary to check on the VPS. The exact installation command depends on your Linux distribution and whether you use its packages or a Node.js version manager.
Option A: use the distribution’s package method
Consult the package instructions for your VPS distribution and install Node.js and npm only if the resulting Node.js version falls inside the required range. Distribution repositories can lag behind the current release, so verify rather than relying on the package name alone.
Option B: use a Node.js version manager
A version manager is useful when the operating system repository is too old or when you must keep more than one supported Node.js line available. Install the manager using its documented instructions, select a version from 20.19 through 24.x, and make sure the selected version is loaded for the account that will run n8n and for any system service that starts it.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Repair Windows errors before they cause bigger problems3Fix the driver behind crashes, sound loss and screen glitchesRank #2
- WINDEX GAMING WIPES: effortlessly clean all your gaming gear and gaming electronics in one easy step with our new Windex Gaming Wipes
- AMMONIA FREE: our ammonia-free formula is safe to use on all of your favorite gaming equipment like consoles, headsets, controllers, screens, keyboards, and more
- PRE-MOISTENED WIPES: each wipe instantly removes dust, dirt, and stubborn smudges and fingerprints leaving a streak-free shine
- ANTI-STATIC: great for cleaning and wiping down your gaming gear and electronics leaving behind no visible residue
- COMPACT RESEALABLE PACKAGE: store your pack of Windex Gaming Wipes anywhere in your home for whenever a quick and easy wipedown is needed
Verify both executables
After either method, run:
node --version
npm --version
The first command must report a Node.js release in the supported 20.19–24.x range. The second must return an npm version instead of “command not found.” Also record the binary locations:
command -v node
command -v npm
Those paths matter later if a service manager does not inherit your interactive shell’s environment.
Step 3: install n8n globally with npm
Once the version check passes, install n8n globally:
npm install n8n -g
The -g flag places the command in npm’s global prefix so that n8n can be invoked from the shell. If your global prefix is protected, use the distribution’s documented privilege mechanism or configure a user-writable npm prefix; do not solve permission errors by making the entire filesystem writable.
Confirm that the executable is available:
n8n --version
command -v n8n
Keep the reported n8n version, Node.js version, npm version, installation date, and global prefix in your deployment notes. That information makes an eventual rollback or migration reproducible.
Step 4: start n8n for the first test
Start the application in the foreground:
n8n
You can also use:
n8n start
Watch the startup output for binding errors, permission failures, or database and encryption warnings. From a second SSH session, test the local endpoint using the port shown by your configuration. Do not expose that port publicly just to make the first test work; use a local request or an SSH tunnel while the reverse proxy is being configured.
Rank #3
- Ergonomic & Adjustable Design: Fight "text neck" and improve your posture. Designed for comfort, it offers an adjustable height (7.1in-8.5in) (1.4in adjustable range) and angle (5°-85°) Please note: cell phone stand is only 9 inches tall—the length of a standard pencil
- Without blocking subtitles Perfect for office desk Tiktok Face Time Zoom video—this is the ultimate kitchen desk essential for phones! Perfect viewing experience while reducing neck back strain, A must-have for gamers streamers desk, and anyone who values both style and support!
- Sleek & Stable Design fits Otterbox Case: Say goodbye to bent cables, tangles, and tip-overs! LISEN’s stylish adjustable desk phone holder features a built-in charging hole and smart cable management, keeping your phone secure and your workspace clutter-free cool gadgets for men
- ANTI-SLIP DESIGN free hands: The under 10.00 items easy gadgets back and the bottom of this kitchen essentials for women are fully covered by anti-skid silicone, which LISEN stand up desk decor can provide maximum protection device from any scratches and slides
- Your Perfect Viewing Companion:If your product arrives damaged or breaks within 365 days, reach out to LISEN for a quick and hassle-free solution. Struggling with assembly, like tightening the screw? We’ve got your back! Your experience matters to us. (Product including: phone Holder stand*1, screw*1, hexagon screwdriver*1, specification*1)
Complete the initial owner-account setup in the browser when prompted. Use a unique, long password and store it in an approved password manager. If the process stops when you close the terminal, that is expected at this stage: it is still attached to your SSH session.
Step 5: keep n8n running after SSH disconnects
A production process needs a supervisor that starts n8n at boot, restarts it after an unexpected exit, captures logs, and runs it as an unprivileged account. systemd is the usual choice on current Linux VPS images.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Create a dedicated account and data directory
Use your distribution’s account-management tools to create an n8n service user and a private data directory, then assign ownership to that user. The exact commands vary by distribution; the important properties are that the account has no interactive administrative privileges and that only the service and approved operators can read its data.
Find the absolute n8n path
Run command -v n8n as the account that performed the global npm install. Copy the resulting absolute path into the service definition. A service started by systemd may not load the same PATH as an interactive shell.
Create a systemd unit
Create a unit such as /etc/systemd/system/n8n.service, adapting the user, data directory, PATH, and executable path to your server:
[Unit]
Description=n8n automation service
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=n8n
Group=n8n
WorkingDirectory=/var/lib/n8n
Environment=HOME=/var/lib/n8n
Environment=PATH=/usr/local/bin:/usr/bin:/bin
ExecStart=/usr/local/bin/n8n start
Restart=on-failure
RestartSec=5
NoNewPrivileges=true
PrivateTmp=true
[Install]
WantedBy=multi-user.target
If command -v n8n returned a different path, replace /usr/local/bin/n8n with that exact path. If you install n8n into a user-only npm prefix, either expose that prefix explicitly in PATH or install the service under the same user and environment instead of guessing a system path.
Rank #4
- Easy Installation: Our gaming lights have been designed to enhance your entertainment experience. Simply position the led light bar next to your TV or game console to create a game room environment with ease. They come with USB power and a 60 inch cord for direct mounting and mobility
- Audio Syncing & Extensive Mode: The built-in high-sensitivity music sensor allows you to sync the TV led lights to your favorite music. Lights react and move to the beat of music, film and game audio, creating an incredible immersive sound and light experience – and all without the need for an additional hub. You can choose from 64+ patterns, including strobe, illusion, jump, energy, gradient, running, chasing, fluttering mode etc. Each mode can be applied to different scenes
- 64+ Chasing IC+RGB & W Effect: The independent control design of IC+RGB and white all-in-one multifunctional rgbw led bar lights monitor backlight allows you to easily switch the led lights for desk between IC+RGB and white to enjoy a variety of lighting effects, you can choose white lighting mode with high brightness for better illumination when working, etc. Choose IC+RGB lighting mode when you need to create an entertaining atmosphere for the light show, 16 million colours of Color changing rgb light bar let you dance to the beat and create a dynamic party atmosphere
- Dynamic and Dimmable Lights: 1%-full brightness free brightness adjustment gives you the flexibility to adjust dimmable led light bar for room decorations or a variety of occasions
- USB Powered: USB light bars for room can be powered by powernank, usb charger, TV, Monitor, laptop PC mainframe, making behind TV led lighting bar easy to install in any location.TV led lights are powered by the TV usb interface / PC mainframe, can be turned on/off synchronously with TV / PC
Load, enable, and inspect the service
- Reload unit files with
sudo systemctl daemon-reload. - Start n8n with
sudo systemctl start n8n. - Enable startup at boot with
sudo systemctl enable n8n. - Check the state with
sudo systemctl status n8n. - Read recent logs with
sudo journalctl -u n8n -n 100 --no-pager.
Do not run both a foreground copy and the systemd copy on the same port. Stop the foreground process first, then let systemd own the service lifecycle.
Step 6: configure the application endpoint
For a public deployment, bind n8n behind a reverse proxy rather than publishing its internal listener directly. Set the service’s environment through a protected systemd environment file or equivalent secret-management mechanism. Common values include the public hostname, internal listening port, HTTPS protocol, and the public webhook URL. Keep secrets out of shell history and out of world-readable unit files.
The public URL must be consistent across DNS, the reverse proxy, and n8n’s webhook configuration. If a workflow service receives callbacks, an incorrect external URL can produce links that point to localhost or an internal address even though the editor appears to work.
Step 7: add DNS, firewall rules, and HTTPS
Point a domain at the VPS
Create an A or AAAA record for the hostname you intend to use and wait for DNS propagation. Test resolution from a separate network before troubleshooting the application; a stale record can look like a proxy failure.
Limit the firewall
Allow SSH on the port you actually use, allow HTTP and HTTPS if your certificate workflow requires them, and keep n8n’s internal application port restricted to localhost or the private interface. Do not open the database or internal service port to the whole internet.
Place a reverse proxy in front
n8n’s security guidance requires self-hosters to encrypt data in transit by putting a reverse proxy in front of the instance to handle TLS. Its SSL guidance names Traefik or a network load balancer as examples; Nginx and Caddy can perform the same front-end role when correctly configured.
Best Value
- Compatible with Wide Screens - To ensure compatibility with the dual monitor mount, your each monitor must meet three conditions at the same time: First, computer screens size range: 13 to 32 inches. Second, screen weight range: 4.4 to 19.8 lbs. Third, the back of the monitor screen must have VESA mounting holes with a pitch of 75x75mm or 100x100mm.
- Regarding the compatibility with desks - Your desk must meet three conditions at the same time: First, desk material: Only wooden desks are recommended, plastic or glass desks cannot be used. Second, desk thickness range: 0.59" - 3.54". Third, the bottom of the desk should not have any cross beams or panels, as this will interfere with installation. We recommend carefully checking that your desk and monitors meets all above conditions before purchasing.
- Dual C-Clamp Hold - Worried your dual monitors might wobble or slip? Our upgraded base uses a larger platform plus a dual C-clamp structure to lock the dual monitor arm firmly to your desk. Each arm safely keeps your screens steady while you type, click and game—no shaking, no sliding, just a clean and secure setup you can trust every day. It also provides Grommet Mounting installation choice, both options ensure stable and secure fixation for your 0.59" - 3.54" desk.
- Full-Motion Adjustment For Comfortable View - Pull the screen closer when you’re deep in a spreadsheet, push it back to watch videos, or rotate to portrait for coding — moving everything smoothly with just one hand. The monitor stand offers +85°/-50° tilt, ±90° swivel and 360° rotation. Raise your monitor up to 15.75″ to support a healthy sitting posture. Whether you’re working from home, gaming through the night, or switching between video calls and documents, getting the screens to your natural line of sight helps relieve neck, shoulder and back strain so you can stay focused longer with less fatigue.
- Keep Your Desk Organized: By lifting both screens off the desktop, this dual monitor stand opens up valuable space for your keyboard, notebook, docking station or a simple, clutter-free work area. Built-in cable management guides wires along the arms, keeping cords out of sight and out of the way. Enjoy a tidy, modern workstation that looks as good as it feels to use.
A proxy configuration must:
- Listen on the public hostname for HTTP and HTTPS.
- Forward requests to n8n’s private address and port.
- Preserve the original
Hostand forwarding headers. - Support connection upgrades when the editor or nodes require a persistent connection.
- Redirect plain HTTP to HTTPS after certificate issuance.
- Renew certificates automatically and reload the proxy without interrupting service.
For Nginx, the essential shape is a server block that proxies to the private n8n listener and includes headers similar to these:
Recommended Free Tools
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 exact syntax and certificate procedure documented by your chosen proxy. Verify the result from outside the VPS with an HTTPS request, then confirm that the browser shows the expected hostname and certificate before enabling external webhooks.
Step 8: protect credentials and encryption material
Automation credentials are sensitive even when the editor is behind a login. Restrict filesystem permissions on the n8n data directory, the service environment file, SSH keys, and proxy certificate keys. Do not paste encryption keys into public issue trackers or commit them to a repository.
Backups must include the n8n data required to restore workflows and credentials, the encryption material needed to decrypt those credentials, service and proxy configuration, and any external database used by the deployment. A backup that contains workflows but not the matching encryption key is not a complete recovery.
Test restoration on a separate instance. Record which n8n version, Node.js version, environment variables, database, and proxy settings were used in the test so that recovery is an executable procedure rather than an assumption.
Free tools Windows power users keep installed
One-click scans. No signup required.
Step 9: upgrade safely
npm upgrades change application code while the VPS, Node.js runtime, service unit, and data remain in place. Before an upgrade:
- Read the n8n release notes and verify that the target release still supports your Node.js version.
- Take and verify a backup, including encryption material.
- Record the currently running n8n and Node.js versions.
- Stop the service with
sudo systemctl stop n8n. - Install the tested n8n version with npm, using the global prefix that your service actually uses.
- Start the service and inspect
systemctl statusandjournalctl. - Run a health check: sign in, open a workflow, execute a safe test, and verify one representative webhook or integration.
Do not automatically combine an n8n upgrade with a Node.js major-version change. Changing one layer at a time makes failures diagnosable and rollback practical. Because npm installs are deprecated from n8n 3.0, include migration planning in the upgrade record rather than treating npm as a permanent path.
Troubleshooting common failures
| Symptom | Likely cause | Checks and corrective action |
|---|---|---|
npm: command not found |
Node.js/npm was not installed for the current account or PATH. | Run node --version, npm --version, and command -v npm. Load the version manager in the shell or install the distribution package. |
| Unsupported engine or install error | Node.js is outside n8n’s supported 20.19–24.x range. | Install a supported release, verify with node --version, then retry the n8n installation. |
n8n works interactively but systemd fails |
The service does not inherit the interactive PATH or npm prefix. | Use command -v n8n, put the absolute path in ExecStart, define PATH explicitly, reload systemd, and inspect the journal. |
| Browser cannot connect | Firewall, DNS, proxy, or listener binding problem. | Check local service status first, then DNS resolution, firewall rules, proxy logs, and the certificate. Keep the internal port private. |
| HTTPS works but webhooks fail | The configured public URL or forwarded protocol is wrong. | Check the external hostname, HTTPS termination, forwarding headers, and n8n’s webhook URL settings. Test from outside the VPS. |
| Service starts, then exits | Permission, environment, database, or encryption configuration error. | Read the complete output from sudo journalctl -u n8n, confirm the service user’s access to its data directory, and compare its environment with the known-good foreground test. |
| Credentials cannot be decrypted after restore | The backup omitted or changed the encryption material. | Restore the matching key and configuration together with the n8n data; do not generate a new key over the restored files. |
Production readiness checklist
- Node.js reports a version from 20.19 through 24.x, inclusive.
npm install n8n -gcompleted andn8n --versionreturns the installed release.- n8n runs under a non-root service identity and starts through systemd after reboot.
- The internal n8n port is not exposed to the public internet.
- DNS points to the VPS and the reverse proxy serves the intended hostname.
- TLS is active, renews automatically, and redirects HTTP to HTTPS.
- Webhook URLs use the public HTTPS address.
- Firewall rules restrict SSH and leave only required public ports open.
- Backups include workflows, database data, credentials, encryption material, and configuration.
- A restoration test has succeeded.
- An upgrade and rollback plan acknowledges the npm deprecation arriving with n8n 3.0.
Bottom line
The npm path is straightforward: install supported Node.js, run npm install n8n -g, and start with n8n or n8n start. On a real VPS, the difficult and security-critical work comes afterward: supervise the process, isolate the internal port, terminate TLS at a reverse proxy, protect encryption material, and maintain tested backups. Since n8n is deprecating npm installations from version 3.0 and directing new deployments to Docker, use npm deliberately for an existing or transitional installation and reassess the deployment method before committing to a new production system.
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.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.




