Deploying n8n with Plesk gives you an easy way to manage your server along with a flexible, self-hosted au­toma­tion tool. This lets you automate recurring tasks, connect different services, and build workflow-based processes without having to start from scratch.

Step 1: Check re­quire­ments and choose the right server

Before you install n8n, check that your server is set up correctly and has enough resources for how you intend to use it. n8n’s re­quire­ments depend on how many workflows you run and on how many webhooks are active. The number of ex­e­cu­tions you’ll run at the same time and how many services you connect also need to be factored in. If you only run a few small au­toma­tions, a modest setup is enough. For regular, large-scale use, plan for more CPU, RAM and storage.

For an n8n Plesk install, you’ll need:

  • A Linux server with Plesk installed
  • A domain or subdomain to access n8n
  • A valid SSL cer­tifi­cate
  • The Docker extension in Plesk, which is supported on current Linux systems such as Debian 10 to 12 and Ubuntu 18.04 to 24.04
  • A reverse proxy setup; on Linux, Plex uses NGINX as a frontend, which routes traffic from your domain to the n8n container
Note

n8n is a powerful au­toma­tion tool, but it’s not the only option. Many people start with tools like Zapier or Make because they are fully cloud-based and don’t require their own server. Compared to Zapier and Make, n8n gives you more control over your data and costs, along with greater flex­i­bil­i­ty to customize workflows through self-hosting. In many cases, moving from Zapier to n8n is also rel­a­tive­ly straight­for­ward.

Use case 1: Personal use and small startups

If you want to use n8n by yourself, for a side project or with a very small team, start with 4 vCores, 4 GB RAM, and 120 GB NVMe. This setup is enough to run a few workflows, such as form no­ti­fi­ca­tions, simple social media au­toma­tions or small data transfers between two to four tools or apps. It also works well for learning and testing. You can work in a realistic en­vi­ron­ment without making your setup larger than it needs to be.

Use case 2: Growing startups and small teams

If you start using n8n on a regular basis, you’ll need a more powerful setup. 6 vCores, 8 GB RAM, and 240 GB NVMe will give you more headroom for multiple active n8n workflows, scheduled cron jobs, con­nec­tions to CRM systems or eCommerce platforms, and your first webhooks. This setup works well if multiple people are using n8n or if au­toma­tions are already part of your day-to-day work. Typical examples include lead pro­cess­ing, email routing, internal alerts, simple reporting workflows or syncing data between SaaS tools.

Use case 3: SMBs with multiple business processes

Small and medium-sized busi­ness­es wanting to use n8n across multiple de­part­ments will need 8 vCores, 16 GB RAM, and 480 GB NVMe. At this point, you’re usually not just au­tomat­ing in­di­vid­ual tasks, but con­nect­ing workflows across sales, customer service, and marketing teams, and in­te­grat­ing eCommerce platforms and internal tools. Typical examples include ticket routing, ERP or eCommerce data syncing, reporting, and invoicing. You might also handle triggers from forms or webhooks. These setups run more tasks at once, so extra memory helps keep things stable.

Use case 4: Agencies, platforms, and high-load en­vi­ron­ments

If you run n8n for multiple clients, projects, or high-volume workflows, you’ll need a more powerful setup. 12 vCores, 24 GB RAM, and 720 GB NVMe gives you enough headroom for si­mul­ta­ne­ous ex­e­cu­tions, more complex workflows, and a larger number of connected tools and services. This kind of setup works well for agencies managing multiple clients or campaigns, as well as platforms that receive data in real time through APIs and webhooks. A VPS of this size handles these workloads reliably. In these en­vi­ron­ments, load spikes are normal and can slow things down. You’ll need more CPU to reduce delays and more RAM to keep longer or more resource-heavy workflows stable.

Overview of re­quire­ments by use case

Use case Typical use Rec­om­mend­ed setup
Personal use and small startups A few workflows, internal au­toma­tions, forms, no­ti­fi­ca­tions 4 vCores CPU, 4 GB RAM, 120 GB NVMe
Growing startups and small teams Multiple workflows, initial webhooks, CRM and eCommerce in­te­gra­tions 6 vCores CPU, 8 GB RAM, 240 GB NVMe
SMBs with multiple processes Cross-team workflows, customer service, marketing, data syncing and reporting 8 vCores CPU, 16 GB RAM, 480 GB NVMe
Agencies, platforms and high-load en­vi­ron­ments Many si­mul­ta­ne­ous ex­e­cu­tions, larger data volumes, many in­te­gra­tions 12 vCores CPU, 24 GB RAM, 720 GB NVMe
n8n Hosting
Your best VPS—maximize pro­duc­tiv­i­ty with n8n au­toma­tion
  • Automate manual routines for tech teams
  • Au­toma­tion on your own server: no task limits, full cost control
  • Over 500 in­te­gra­tions and tools thanks to open source

Step 2: Prepare a domain or subdomain for n8n

Decide which address n8n will use. A dedicated subdomain such as n8n.your-domain.com is usually the simplest option. It keeps your au­toma­tion setup separate from your main website and makes SSL and proxy con­fig­u­ra­tion easier. Because n8n runs behind Plesk as a reverse proxy, you’ll need a clearly defined target address. This ensures traffic is routed correctly and avoids conflicts later.

Start by creating the domain or subdomain in Plesk. Make sure the DNS record already points to your server. Then open the Domains section in Plesk and confirm the new domain appears there. Use a new subdomain for n8n to avoid conflicts with existing website con­fig­u­ra­tions.

Image: Plesk: Add subdomain
In the “Domains” section, you can add a subdomain in Plesk.

Step 3: Enable SSL for the domain

Secure the domain with HTTPS before making n8n publicly ac­ces­si­ble. Plesk includes a built-in Let’s Encrypt in­te­gra­tion that makes it easy to issue and renew free SSL cer­tifi­cates. This matters for n8n because many external services only accept webhooks or OAuth callbacks over HTTPS. Login sessions, API requests, and workflow data should also never be exposed over un­en­crypt­ed HTTP.

Open the domain in Plesk and enable an SSL cer­tifi­cate.

Image: Plesk: SSL/TLS certificates
Click the “SSL/TLS Cer­tifi­cates” tab to see a selection of in­stal­lable cer­tifi­cates.

If Let’s Encrypt is already installed, request a cer­tifi­cate in the interface. Then enable automatic redi­rec­tion from HTTP to HTTPS so all traffic uses en­cryp­tion. You can also use this menu to download or remove existing cer­tifi­cates.

Image: Plesk: Let’s Encrypt
Scroll down and select Let’s Encrypt as the base cer­tifi­cate.

Step 4: Install the Docker extension in Plesk

Using Docker to run n8n in an isolated container makes it easier to update and manage n8n. In Plesk, the Docker extension lets you deploy and control con­tain­ers directly from the admin interface.

Open Ex­ten­sions in Plesk and install the Docker extension if it’s not already available.

Image: Plesk: Download Docker
Search for Docker in ex­ten­sions and install it.

After in­stal­la­tion, a dedicated Docker section appears in the left sidebar. Use it to search for images, create Docker con­tain­ers, assign ports and set variables.

Image: Plesk: View of the Docker extension
Use the Docker extension to start and manage con­tain­ers.
Note

This setup uses Docker, one of the most common ways to self-host n8n. For more advanced en­vi­ron­ments, you can also run n8n on Ku­ber­netes, which is better suited for scalable or dis­trib­uted setups.

Step 5: Create an n8n container in Plesk

Next, create the n8n container itself. In the Docker extension, search for the official image “n8nio/n8n” and create a new container from it.

Image: Plesk: n8n container
Search for the n8n container and create it.

By default, n8n runs on port 5678, so this port needs to stay available. For the host port, use 5678 or another free local port. In Plesk, it is usually better to assign a fixed host port manually instead of using automatic port mapping. This makes the proxy rule easier to configure later. You also need to make sure your n8n data is saved. Create a Docker volume or host directory and mount it to /home/node/.n8n. Use this mapping so your n8n settings and stored data remain available when the container is recreated.

Image: Plesk: n8n container port mapping
Set the port mapping while creating the container.
Note

If the container fails to start and the logs show errors such as “per­mis­sion denied” or “EACCES,” the mapped data directory usually does not have the required write per­mis­sions. Update the host directory per­mis­sions so n8n can save con­fig­u­ra­tion files and data.

Step 6: Set variables

Add a few variables just to begin with. These tell n8n which address to use and how to handle external traffic. n8n needs these settings when it runs behind a reverse proxy such as Plesk. Visitors connect through your public domain, while n8n itself runs in­ter­nal­ly on a different port.

N8N_HOST, N8N_PROTOCOL, WEBHOOK_URL, and N8N_PROXY_HOPS are key variables. They tell n8n which domain to use, whether HTTPS is enabled, and that a reverse proxy is in front of the container.

If your n8n URL is https://n8n.your-domain.com, use these values:

N8N_HOST=n8n.your-domain.com 
N8N_PROTOCOL=https 
WEBHOOK_URL=https://n8n.your-domain.com/ 
N8N_PROXY_HOPS=1 
TZ=America/New_York
GENERIC_TIMEZONE=America/New_York
txt

In Plesk, enter these values in the container settings under En­vi­ron­ment variables.

Image: Plesk: n8n container variables
Enter the variables here. Replace “your-domain.com” with yours.

Step 7: Set up a Docker proxy rule in Plesk

Set up a Docker proxy rule in Plesk. This will make your n8n instance ac­ces­si­ble through the main domain on port 443. NGINX will then forward the domain to the container’s local port. This way, users won’t need to type an unusual port in the URL them­selves.

In Plesk, go to Websites & Domains for your n8n subdomain. Then select Docker Proxy Rules. Create a new rule, select the n8n container, and assign the port you mapped earlier. For a dedicated subdomain, route the entire domain to the container. NGINX will then forward traffic to the container’s local port.

Image: Plesk: Docker Proxy Rules
Set custom rules under the Docker Proxy Rules tab.

Step 8: Open n8n in a browser and complete setup

Open your n8n URL in a browser. If every­thing has been set up correctly, the n8n dashboard will load under your HTTPS domain. On first launch, n8n will guide you through the basic setup, including creating your first user account.

Step 9: Run n8n securely and reliably

If you plan to use n8n for real workflows, don’t stop at the basic setup. Regular updates, backups of the data directory, and a secure TLS con­fig­u­ra­tion are key to min­i­miz­ing downtime, data loss and security risks.

It’s best to run n8n as a stand­alone ap­pli­ca­tion with its own subdomain, data directory, and proxy con­fig­u­ra­tion. This makes updates, backups and trou­bleshoot­ing much simpler. As your workflows grow or more people join, scaling to a more powerful setup becomes easier. Your initial server choice is key to reliable per­for­mance and long-term stability, not just for reducing costs.

Tip

If you’re working with a smaller setup or are just getting started, consider al­ter­na­tive in­stal­la­tion methods like n8n with CapRover or n8n with CasaOS. These can simplify the setup process.

Reviewer

Go to Main Menu