How to Self-Host n8n on Linode (2026 Guide)
n8n is an open-source workflow automation tool that enables you to connect different services and automate tasks. Self-hosting it provides privacy, control, and customization. This guide walks you through the process of installing n8n on a Linode VPS, ideal for developers and homelabbers alike.
Prerequisites
Before you begin, make sure you have the following:
- A Linode account. If you don’t have one, sign up here for as low as 5 USD/month.
- Basic understanding of using SSH and the command line.
- Familiarity with Linux and some common web technologies.
Step 1: Create a Linode Instance
- Log into your Linode account and navigate to the Linode dashboard.
- Click on “Create” in the top menu and select “Linode”.
- Choose a Linux distribution (Ubuntu 22.04 is recommended for this guide).
- Select a suitable plan. The basic plan at 5 USD/month is adequate for most n8n uses.
- Choose a data center that is closer to your target audience for reduced latency.
- Set up your Linode options (label, tags, etc.), then click on “Create Linode”.
Step 2: Access Your Linode via SSH
Once your Linode is up and running, access it using SSH from your terminal:
ssh root@<YOUR_LINODE_IP>
Replace <YOUR_LINODE_IP> with your Linode’s public IP address. If prompted, enter your password.
Step 3: Install Docker
n8n can be easily deployed using Docker. Here’s how to install Docker on your Linode:
sudo apt update
sudo apt install -y docker.io
sudo systemctl start docker
sudo systemctl enable docker
Verify the installation:
docker --version
Step 4: Set Up n8n Using Docker
With Docker installed, you can pull the n8n Docker image and run it:
docker pull n8nio/n8n
Create a directory to store your n8n configuration and run the container:
mkdir ~/n8n
docker run -d --name n8n \
-p 5678:5678 \
-v ~/n8n:/home/node/.n8n \
-e N8N_HOST=your-domain.com \
-e N8N_PORT=5678 \
-e N8N_PROTOCOL=https \
n8nio/n8n
Replace your-domain.com with your actual domain if you have one. By default, n8n runs on port 5678.
Step 5: Access n8n
Once the container is running, you can access n8n in your browser by navigating to http://<YOUR_LINODE_IP>:5678. If you’ve configured a domain, use that instead.
Step 6: Secure n8n with HTTPS
For security, it’s crucial to run n8n over HTTPS. You can use Let’s Encrypt for a free SSL certificate. First, install certbot:
sudo apt install -y certbot
Then, generate and automatically install your SSL certificate:
sudo certbot certonly --standalone -d your-domain.com
Once you have the certificate, you can update the Docker run command to include the SSL settings.
Comparison of VPS Providers
| Provider | Monthly Price | Location Options | Best Use Cases |
|---|---|---|---|
| Contabo VPS | 5.99 EUR/mo | Europe and USA | Budget hosting |
| Hetzner Cloud | 4.15 EUR/mo | Europe | Dev/test environments |
| DigitalOcean | 6 USD/mo | Global | Application hosting |
| Vultr | 6 USD/mo | Global | Developers and startups |
| Linode | 5 USD/mo | Global | Versatile and reliable |
Refer to our full VPS comparison for more details.
FAQs
1. What is n8n and why should I use it?
n8n is an open-source automation tool that allows users to automate workflows between multiple apps. Unlike proprietary tools, it is self-hosted, giving you full control over your data and processes. You can set up custom workflows using various triggers and actions, which makes it especially useful for developers looking to streamline repetitive tasks.
2. How do I ensure data persistence in n8n?
To ensure your data is not lost when the n8n container is restarted, you should mount a local directory to the container’s persistent data directory. This method allows all configurations, workflows, and credential information to be saved on your Linode’s filesystem. Whenever you start up the n8n container, it will read from this directory, ensuring that your data is kept intact through reboots or updates.
3. Can I integrate other services with n8n?
Yes, n8n supports a wide range of integrations with numerous third-party services, including Google Sheets, Slack, GitHub, and more. You can create complex workflows that involve multiple services to automate tasks, enhancing your productivity. The n8n community also constantly contributes to new nodes and integrations, expanding the tool’s capabilities. For more detailed resources, check out r/selfhosted or awesome-selfhosted.
By following these steps, you can confidently set up n8n on a Linode VPS, enhancing your self-hosting capabilities and workflow automation.