2025-03-08 13:41:56 -06:00
2025-02-16 15:09:35 -06:00
2025-05-05 13:56:51 -06:00

n8n Installer

n8n Installer is an open-source Docker Compose template designed to significantly simplify setting up a comprehensive, self-hosted environment for n8n and Flowise. It bundles essential supporting tools like Open WebUI (as an interface for n8n agents), Supabase (database, vector information storage, authentication), Qdrant (high-performance vector information storage), Langfuse (to observe AI model performance), SearXNG (private metasearch), Grafana/Prometheus (monitoring), Crawl4ai (web crawling), and Caddy (for managed HTTPS). Plus, during setup, you can optionally import over 300 community workflows into your n8n instance!

Why This Setup?

This installer helps you create your own powerful, private AI workshop. Imagine having a suite of tools at your fingertips to:

  • Automate repetitive tasks.
  • Build smart assistants tailored to your needs.
  • Analyze information and gain insights.
  • Generate creative content. All of this is hosted by you, giving you full control over your data and operations.

What's Included

Self-hosted n8n - A low-code platform with over 400 integrations and advanced AI components to automate workflows.

300+ n8n Community Workflows Included - Get started quickly with a vast library of pre-built automations.

Supabase - An open-source alternative to Firebase, providing database storage, user authentication, and more. It's a popular choice for AI applications.

Open WebUI - A user-friendly, ChatGPT-like interface to interact privately with your AI models and n8n agents.

Flowise - A no-code/low-code AI agent builder that complements n8n perfectly, allowing you to create sophisticated AI applications with ease.

Qdrant - A high-performance open-source vector store, specialized for AI. While Supabase also offers vector capabilities, Qdrant is included for its speed, making it ideal for demanding AI tasks.

SearXNG - A free, open-source internet metasearch engine. It aggregates results from numerous search services without tracking or profiling you, ensuring your privacy.

Caddy - A powerful web server that automatically handles HTTPS/TLS for your custom domains, keeping your connections secure.

Langfuse - An open-source platform to help you observe and understand how your AI agents are performing, making it easier to debug and improve them.

Crawl4ai - A flexible web crawler designed for AI, enabling you to extract data from websites for your projects.

Prometheus - An open-source monitoring and alerting toolkit to keep an eye on system health.

Grafana - An open-source platform for visualizing monitoring data, helping you understand system performance at a glance.

Installation

Prerequisites before Installation

  1. Domain Name: You need a registered domain name (e.g., yourdomain.com).
  2. DNS Configuration: Before running the installation script, you must configure DNS A-records for your domain, pointing to the public IP address of the server where you'll install this system. Replace yourdomain.com with your actual domain:
    • Wildcard Record (Required): A *.yourdomain.com -> YOUR_SERVER_IP This allows services like n8n.yourdomain.com and webui.yourdomain.com to work automatically.
    • Apex/Root Domain Record (Recommended): A yourdomain.com -> YOUR_SERVER_IP This is useful if you plan to use your main domain (e.g., yourdomain.com) for a service or landing page.
  3. Server: Minimum server system requirements: Ubuntu 24.04 LTS (or a compatible Linux distribution), 64-bit, 8 GB Memory / 4 CPU Cores / 60 GB Disk Space.

Running the Installer

The recommended way to install is using the provided main installation script.

  1. Connect to your server via SSH.

  2. Run the following commands:

    git clone https://github.com/kossakovsky/n8n-installer && cd n8n-installer && bash ./scripts/install.sh
    

This single command automates the entire setup process, including:

  • Preparing your system (updates, firewall configuration, and basic security enhancements like brute-force protection).
  • Installing Docker and Docker Compose (tools for running applications in isolated environments).
  • Generating a configuration file (.env) with necessary secrets and your domain settings.
  • Launching all the services.

During the installation, the script will prompt you for:

  1. Your primary domain name (Required, e.g., yourdomain.com). This is the domain for which you've configured the wildcard DNS record.
  2. Your email address (Required, used for service logins like Flowise, Supabase dashboard, Grafana, and for SSL certificate registration with Let's Encrypt).
  3. An optional OpenAI API key (Not required. If provided, it can be used by Supabase AI features and Crawl4ai. Press Enter to skip).
  4. Whether you want to import ~300 ready-made n8n community workflows (y/n, Optional. This can take 20-30 minutes, depending on your server and network speed).

Upon successful completion, the script will display a summary report. This report contains the access URLs and credentials for the deployed services. Save this information in a safe place!

Quick Start and Usage

The services will be available at the following addresses (replace yourdomain.com with your actual domain):

  • n8n: n8n.yourdomain.com
  • Open WebUI: webui.yourdomain.com
  • Flowise: flowise.yourdomain.com
  • Supabase (Dashboard): supabase.yourdomain.com
  • Langfuse: langfuse.yourdomain.com
  • Grafana: grafana.yourdomain.com
  • SearXNG: searxng.yourdomain.com
  • Prometheus: prometheus.yourdomain.com

With your n8n instance, you'll have access to over 400 integrations and powerful AI tools to build automated workflows. You can connect n8n to Qdrant or Supabase to store and retrieve information for your AI tasks. If you wish to use large language models (LLMs), you can easily configure them within n8n, assuming you have access to an LLM service.

Upgrading

To update all components (n8n, Open WebUI, etc.) to their latest versions and incorporate the newest changes from this installer project, use the update script:

bash ./scripts/update.sh

This script will:

  1. Fetch the latest updates for the installer from the Git repository.
  2. Temporarily stop the currently running services.
  3. Download the latest versions of the Docker images for all services.
  4. Ask if you want to re-run the n8n workflow import (useful if you skipped this during the initial installation or want to refresh the community workflows).
  5. Restart all services with the new updates.

Troubleshooting

Here are solutions to common issues you might encounter:

Supabase Issues

  • Supabase Pooler Restarting: If the supabase-pooler component keeps restarting, follow the instructions in this GitHub issue.
  • Supabase Analytics Startup Failure: If the supabase-analytics component fails to start after changing your Postgres password, you might need to reset its data. Warning: This will delete your Supabase database data. Proceed with extreme caution and ensure you have backups if needed. The technical step involves deleting the supabase/docker/volumes/db/data folder.
  • Supabase Service Unavailable: Ensure your Postgres database password does not contain special characters like "@". Other special characters might also cause issues. If services like n8n report they cannot connect to Supabase, and other diagnostics seem fine, this is a common cause.

n8n offers excellent resources for getting started with its AI capabilities:

🎥 Video Walkthrough

🛍️ More AI Templates

For more AI workflow ideas, visit the official n8n AI template gallery. From each workflow, select the Use workflow button to automatically import it into your n8n instance.

Learn AI Key Concepts (Examples from n8n.io)

AI Templates (Examples from n8n.io)

Tips & Tricks

Accessing Files on the Server

The installer creates a shared folder (by default, located in the same directory where you ran the installation script). This folder is accessible by the n8n application. When you build automations in n8n that need to read or write files on your server, use the path /data/shared inside your n8n workflows. This path in n8n points to the shared folder on your server.

n8n components that interact with the server's filesystem:

📜 License

This project (originally created by the n8n team, with further development by contributors - see "Important Links") is licensed under the Apache License 2.0. See the LICENSE file for details.

Description
No description provided
Readme Apache-2.0 9.8 MiB
Languages
Shell 68.8%
JavaScript 16.5%
Python 8.2%
HTML 5.3%
Makefile 1.2%