Self-host n8n on a VPS without touching Docker or SSH. This walkthrough covers ordering the server, pointing your domain and installing n8n from NexPanel's one-click apps.
Most guides to self-hosting n8n assume you are comfortable at a terminal. They open with an SSH session, move on to a Docker Compose file, then spend the second half configuring Nginx as a reverse proxy and getting a certificate issued before anything is reachable. It works, and it is a reasonable way to learn how the pieces fit together, but it is an afternoon of work for something that ends up running one container.
There is a shorter route. NexPanel is Lvato's own control panel, included at no cost on every VPS, and n8n is in its one-click app list. The panel provisions the app, its database and its credentials, and issues the SSL certificate on its own. This walkthrough goes from an empty cart to a working n8n login screen.
If you are still deciding whether self-hosting is worth it at all, the cost breakdown against n8n Cloud covers that side of it. The short version is that self-hosting removes the execution cap, which is the thing that actually drives the Cloud bill.
Two things: a VPS and a domain name.
| Item | Recommendation | Cost |
|---|---|---|
| VPS plan | 1 vCPU, 2GB RAM, 50GB NVMe | $15.00 first month, then $16.99/mo |
| Domain | Any TLD. A cheap one is fine here. | .xyz from $3.59/yr, .vip from $5.99/yr |
Two gigabytes of RAM is the number to aim for. There is a 1GB plan at $8.99/mo and n8n will technically start on it, but the panel, the web server and n8n itself are all sharing that memory, and workflows that handle file attachments or large API responses will start hitting the ceiling. The 2GB plan gives you room to actually use the thing.
On the domain, this server is for your own automation rather than a public brand, so an inexpensive extension does the job. Check the renewal price rather than the first-year price, since the gap can be wide: .xyz renews at $19.99 and .vip at $22.99. That is still reasonable, but it is not $3.59.
Open the VPS hosting page, pick the 2GB plan and add it to the cart. Search for your domain in the same session and add that too. Both land on a single invoice, so you pay once and both services activate together.
Once the invoice is paid and the service is active, go to your dashboard and create the instance. Three choices matter here:
server.yourdomain.com.Click deploy. The instance takes roughly two to three minutes to build, and the dashboard shows you an IP address when it is ready. Copy that IP.
Go to the Domains section of your dashboard, find the domain you just registered and click Manage, then open DNS management.
Before editing anything, check that the domain is on the default nameservers rather than custom ones. If the nameservers point somewhere else, records you add here are ignored, and this is the single most common reason a setup that looks correct does not work.
Scroll to the DNS records and edit the A record:
@, which means the domain itselfSave it. If you want the hostname you set earlier to resolve as well, add a second A record with the name server pointing at the same IP.
Give DNS a few minutes to propagate before moving on. This matters more than it looks, because the certificate in step 4 is issued by checking your domain over HTTP, and that check cannot pass until the A record resolves. You can confirm it has taken effect with:
dig +short yourdomain.com
When that prints your server IP, continue.
Open NexPanel and log in, then go to Websites and create a new one using your domain name.
Two fields need explaining. CPU is expressed as a percentage where 100 percent equals one core, so 200 is two cores and 300 is three. On the 2GB plan you have one core, so 100 is your figure. The RAM field takes the memory ceiling for this site, and since n8n is the only thing running here you can give it most of what the server has.
Click deploy. NexPanel creates the site, provisions its isolated environment and issues a Let's Encrypt certificate automatically. HTTPS is not an optional nicety for n8n: webhook-triggered workflows are called by external services, and most of them will refuse a plain HTTP endpoint.
In the Websites list, click Manage on the site you just created. In the left sidebar, find One Click.
The marketplace lists the apps the panel can install for you, WordPress and n8n among them. Select n8n. The panel handles the install, the database and the credentials, which takes another two to three minutes. Nothing is required from you while it runs.
Open your domain in a browser. n8n loads its setup screen and asks you to create an owner account with an email address and password.
Use a real password and store it properly. This account has access to every credential you connect to n8n later, which for most people ends up including email, cloud storage and payment tools. The instance is on the public internet, so it will be found by scanners whether or not anyone is looking for you specifically.
Once the account exists, you are on the workflow canvas and can build the first one.
Three things are worth doing in the first week, none of which take long:
The finished setup is a VPS with full root access, a dedicated IP and NVMe storage, running n8n with no cap on executions and no per-workflow pricing. Total cost is $15.00 for the first month plus a few dollars for the domain, against $22 or more monthly for a Cloud plan that stops running your workflows when you hit its execution limit.
The part worth repeating is that none of the above required a terminal. NexPanel is included free on every Lvato VPS, with unlimited sites and no per-account licence fee, so the same server can host the rest of your projects alongside n8n without changing plan. More detail on the panel is on the NexPanel page.