How-to guide for installing n8n on Windows and Linux without using Docker

Task automation has become a fundamental pillar for optimizing productivity, and n8n has established itself as an essential open source solution in this field. While Docker is often proposed as the preferred tool for quickly deploying this workflow integration and orchestration platform, some users prefer a native installation, which is lighter and easier to master on their Windows or Linux environments. This guide therefore offers a detailed and accessible method for installing n8n without using Docker, whether on a Windows 11 machine or a Linux distribution based on Ubuntu. This approach is particularly attractive for open source enthusiasts who want to take complete control of their automation without the complexity of containers.

Throughout the sections, the prerequisites will be clearly explained, as well as the precise steps for installing essential components such as Node.js, Python, and PM2 for process management on Linux. The goal is to equip system administrators, developers, and hobbyists with custom scripts to automate their workflows independently, while ensuring the sustainability and stability of the local service. For users who also wish to explore the Docker option, a link to a complementary tutorial will be provided.

Installing n8n on Windows 11 without Docker: Prerequisites and Step-by-Step Setup

Installing n8n on Windows 11 without Docker first requires preparing the environment with the essential tools that will allow the application to run properly. The two pillars of this installation are Node.js and Python 3. Node.js is responsible for running the server-side JavaScript engine that powers n8n, while Python is required for some management aspects and to ensure compatibility with certain modules. Here are the key steps to get started: Downloading and installing Node.js:Go to the official Node.js website and choose the LTS (Long Term Support) version, such as version 22.14.0. LTS versions offer stability and preferred support, essential for enterprise-scale solutions or long development phases. The installation file is an MSI package, ideal for Windows.

Follow the installation wizard without changing the default options, which ensures that Node.js is automatically registered in the PATH environment variable, making the command accessible in any terminal.

  • Installing Python 3: Download the latest stable version from the official Python page (such as version 3.13.3). During installation, it is crucial to check the “Add python.exe to PATH” box so that the interpreter is recognized globally on the machine.
  • Once Python is installed, open a PowerShell console and run the following command to install n8n via npm, the Node.js package manager:
  • npm install -g n8n This command installs n8n as a global package, accessible from anywhere on the system. Sometimes, a warning message will indicate that an update is available; simply run the command to update it: Finally, to start n8n, simply run: n8n
  • The service will start and be accessible via

http://localhost:5678

in your browser. Note that n8n does not launch automatically when Windows starts, but solutions such as creating a scheduled task allow you to automate this startup. This is a good choice to conserve machine resources and launch n8n only when needed.

Install Node.js and Python

Run npm to add n8n globally

Manually start the service with the `n8n` command Optional: Set up a scheduled task to automate the launch This method is ideal for testing or personal use before moving to a more robust infrastructure, such as deploying via Docker or a cloud hub.

  • Best practices for smooth operation on Windows
  • As with any open source software with strong API and script integration, it is recommended to regularly check for updates to n8n and its Node.js dependencies. Keeping your environment up to date helps avoid security vulnerabilities and benefit from new features. Additionally, it can be helpful to document automated workflows within a Git repository, especially if you plan to expand n8n’s use to multiple teams.
  • Finally, for repeated executions, n8n startup can be automated via PowerShell scripts or scheduled tasks, simplifying launch and ensuring better service availability on a dedicated Windows machine. This flexibility is rare in Docker applications, which often require a heavier load.
  • https://www.youtube.com/watch?v=Dv74NSS_zJo

Advanced n8n Installation on Linux Ubuntu Without Docker: Essential Steps and Tips

Adopting Linux as a host system for n8n without using Docker requires more systematic preparation than under Windows, especially because the Linux environment relies more on the command line and fine-grained process management. Ubuntu remains a popular distribution for this use thanks to its stability and large community.

Here is the recommended sequence for installation on Ubuntu or derivatives:

Updating packages

: start by synchronizing your system with the repositories, in order to have the latest versions available:

sudo apt update && sudo apt upgrade -y

Installing the necessary tools

: python3, pip, build-essential and other required packages:

  • sudo apt install build-essential python3 python3-pip python3-venv -y In case an NVIDIA GPU is available and you want to enable CUDA hardware acceleration, install the corresponding libraries:

sudo apt install nvidia-cuda-toolkit nvidia-cudnn -y

  • Setting up Node.js via NVM (Node Version Manager) : This method ensures a clean and isolated installation that is easy to manage.

Run the command to install NVM:

  • curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash

Then reload your profile:

  • source ~/.bashrc Finally install the desired version of Node.js, for example version 20:

nvm install 20
nvm use 20
nvm alias default 20
Check the correct installation with the command:

node -v

This procedure avoids conflicts with Node.js system packages sometimes present on certain distributions.
Let’s move on to installing n8n:
npm install -g n8n

Once installed, check the version:

n8n --version

To start the application, simply launch:

n8n

The server is then accessible on

http://localhost:5678

.

Use PM2 for autostart and n8n process management in Linux

PM2 is a process manager designed to keep Node.js applications running continuously, even when the machine reboots. It also allows you to configure scheduled restarts, which is very useful for future-proofing integration and minimizing disruptions to workflows. Here's how to proceed:

Install PM2 globally: sudo npm install -g pm2Start n8n with a daily restart option (here at midnight):

pm2 start n8n –cron-restart=”0 0 * * *” — start

Save the configuration:

  • pm2 save

Generate the automatic startup script at boot:

  • pm2 startup

After running

  • pm2 startup

, an additional command is displayed: it must be run with sudo, for example:

  • sudo env PATH=$PATH:/home/user/.nvm/versions/node/v20.x.x/bin /usr/lib/node_modules/pm2/bin/pm2 startup systemd -u user –hp /home/user

Feel free to adapt the command according to your username and the NVM installation path. This fine-grained management ensures that n8n is always ready to respond to requests, making automation robust even in a multi-user or server Linux environment.

To ensure n8n is working properly after a reboot, type: pm2 listThis will display the application’s active status in the PM2 manager.

https://www.youtube.com/watch?v=QgiP5qJl6KE

Getting Started with n8n: Accessing the Interface and Creating Your First Workflows

Once n8n is running on your Windows or Linux machine, the first step is to open your browser and log in to

http://localhost:5678

. The first page prompts you to create an administrator account. This is required to secure access to your workflows and protect your automation.

From this intuitive web interface, you can create, modify, and monitor a powerful set of workflows connecting various applications and APIs. This modularity is one of n8n’s strengths, as it allows you to deploy custom integrations tailored to each use case, while remaining within an open source environment.

Workflows are based on a simple principle: connecting blocks or nodes representing specific actions, such as sending an email, extracting data via an API, or executing a custom script. Each workflow can be triggered in multiple ways, based on schedules, external events, or on demand.

Connect services via APIs

Automate scripts and processes Monitor executions and exceptionsCollaborate by sharing workflows

For beginners, the built-in template library is a real boon: it offers pre-designed templates for the most common integrations, facilitating learning and rapid implementation. Workflows can also be imported/exported to share them within a team of administrators or developers.

Initial experiments with n8n are often revealing: a user can, for example, automate the daily sending of a server log report, synchronize data between a CRM and a database, or create an intelligent agent combining AI and automation.

  • https://www.youtube.com/watch?v=jYt_yhulihg
  • Optimizing and Sustaining Your n8n Installation on Windows and Linux Without Docker
  • The stability and sustainability of an n8n installation without Docker largely depend on regular maintenance and optimization of execution routines. Here are some key technical tips:
  • Log Monitoring

n8n generates detailed logs accessible from the console. Monitor them to detect potential errors or slowdowns in complex workflows.

System Updates

Keep your Windows or Linux system up-to-date, especially Node.js and Python, to avoid incompatibilities and benefit from the latest improvements.

Memory and Resource Management

Remember to ensure that n8n isn’t monopolizing resources too much, especially when multiple workflows are active simultaneously.

  • Regular Workflow Backups Regularly export your configurations and save them to Git repositories or external media to prevent accidental loss.
  • Startup Automation On Linux, using PM2 is an excellent way to ensure n8n is always running. On Windows, setting up a scheduled task to automatically start the service is recommended.
  • The Docker-free approach favors a lightweight installation, allowing for fine-grained system control. However, it requires increased vigilance regarding server maintenance and platform security, particularly in multi-user or Internet-exposed environments. For an alternative method, the Linuxencaja community offers a comprehensive tutorial for deploying n8n via Docker on Linux, which can be useful for comparison:
  • Complete guide to deploying n8n with Docker on Linux Practical cases and examples of integration without Docker with n8n
  • Beyond installation, the true value of n8n lies in its ability to enable dialogue between various services and APIs. Without the Docker layer, the approach remains just as effective but more direct, as it directly uses the host system. This can be an asset in environments where lightweight is a key criterion, such as personal servers or machines dedicated to development. Here are some concrete examples to inspire your local use of n8n:

Synchronization between an IMAP email service and a CRM: n8n can monitor the mailbox for new messages, analyze them via a Python script, and then create or update contacts in a CRM.

Automated system reporting: From Linux logs, a script launched by n8n compiles a daily summary that is emailed to an operational team via SMTP.

Intelligent agent for automated responses: By integrating an artificial intelligence API, n8n orchestrates the understanding of user requests and writes appropriate responses, thus optimizing customer service or helpdesk operations.

Each scenario requires a good understanding of scripting, as well as data flow logic. n8n facilitates this orchestration with an intuitive graphical interface and REST API support, making adding or modifying nodes accessible even without development expertise.