mirror of
https://github.com/kossakovsky/n8n-install.git
synced 2026-03-08 06:43:22 +00:00
Update README.md for improved clarity and organization
- Revised project description to emphasize the self-hosted nature of the n8n Installer and its bundled tools. - Enhanced the "What's Included" section to better outline the features and benefits of the setup. - Streamlined installation instructions and clarified DNS configuration steps for user-friendliness. - Updated troubleshooting tips for Supabase issues to provide clearer guidance. - Improved formatting and consistency throughout the document for better readability.
This commit is contained in:
196
README.md
196
README.md
@@ -1,127 +1,120 @@
|
||||
# n8n Installer
|
||||
|
||||
**n8n Installer** is an open, docker compose template designed to significantly simplify the setup of a comprehensive development environment centered around n8n and Flowise. It bundles essential supporting tools like Open WebUI (as an interface for n8n agents), Supabase (database, vector store, auth), Qdrant (high-performance vector store), Langfuse (LLM observability), SearXNG (private metasearch), Grafana/Prometheus (monitoring), Crawl4ai (web crawling), and Caddy (managed HTTPS). Also, you have the option during setup to automatically import over 300 community workflows into your n8n instance!
|
||||
**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!
|
||||
|
||||
### What's included
|
||||
### Why This Setup?
|
||||
|
||||
✅ [**Self-hosted n8n**](https://n8n.io/) - Low-code platform with over 400
|
||||
integrations and advanced AI components
|
||||
This installer helps you create your own powerful, private AI workshop. Imagine having a suite of tools at your fingertips to:
|
||||
|
||||
✅ **300 n8n Community Workflows Included**
|
||||
- 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.
|
||||
|
||||
✅ [**Supabase**](https://supabase.com/) - Open source database as a service -
|
||||
most widely used database for AI agents
|
||||
### What's Included
|
||||
|
||||
✅ [**Open WebUI**](https://openwebui.com/) - ChatGPT-like interface to
|
||||
privately interact with your models and N8N agents
|
||||
✅ [**Self-hosted n8n**](https://n8n.io/) - A low-code platform with over 400 integrations and advanced AI components to automate workflows.
|
||||
|
||||
✅ [**Flowise**](https://flowiseai.com/) - No/low code AI agent
|
||||
builder that pairs very well with n8n
|
||||
✅ **300+ n8n Community Workflows Included** - Get started quickly with a vast library of pre-built automations.
|
||||
|
||||
✅ [**Qdrant**](https://qdrant.tech/) - Open source, high performance vector
|
||||
store with an comprehensive API. Even though you can use Supabase for RAG, this was
|
||||
kept unlike Postgres since it's faster than Supabase so sometimes is the better option.
|
||||
✅ [**Supabase**](https://supabase.com/) - An open-source alternative to Firebase, providing database storage, user authentication, and more. It's a popular choice for AI applications.
|
||||
|
||||
✅ [**SearXNG**](https://searxng.org/) - Open source, free internet metasearch engine which aggregates
|
||||
results from up to 229 search services. Users are neither tracked nor profiled,
|
||||
hence the fit with this AI package.
|
||||
✅ [**Open WebUI**](https://openwebui.com/) - A user-friendly, ChatGPT-like interface to interact privately with your AI models and n8n agents.
|
||||
|
||||
✅ [**Caddy**](https://caddyserver.com/) - Managed HTTPS/TLS for custom domains
|
||||
✅ [**Flowise**](https://flowiseai.com/) - A no-code/low-code AI agent builder that complements n8n perfectly, allowing you to create sophisticated AI applications with ease.
|
||||
|
||||
✅ [**Langfuse**](https://langfuse.com/) - Open source LLM engineering platform for agent observability
|
||||
✅ [**Qdrant**](https://qdrant.tech/) - 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.
|
||||
|
||||
✅ [**Crawl4ai**](https://github.com/Alfresco/crawl4ai) - Flexible web crawler designed for AI data extraction workflows.
|
||||
✅ [**SearXNG**](https://searxng.org/) - A free, open-source internet metasearch engine. It aggregates results from numerous search services without tracking or profiling you, ensuring your privacy.
|
||||
|
||||
✅ [**Prometheus**](https://prometheus.io/) - Open source monitoring and alerting toolkit.
|
||||
✅ [**Caddy**](https://caddyserver.com/) - A powerful web server that automatically handles HTTPS/TLS for your custom domains, keeping your connections secure.
|
||||
|
||||
✅ [**Grafana**](https://grafana.com/) - Open source platform for monitoring and observability.
|
||||
✅ [**Langfuse**](https://langfuse.com/) - 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**](https://github.com/Alfresco/crawl4ai) - A flexible web crawler designed for AI, enabling you to extract data from websites for your projects.
|
||||
|
||||
✅ [**Prometheus**](https://prometheus.io/) - An open-source monitoring and alerting toolkit to keep an eye on system health.
|
||||
|
||||
✅ [**Grafana**](https://grafana.com/) - 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 the following DNS A-record(s) for your domain, pointing to the public IP address of the server where you intend to install the n8n ecosystem. Replace `yourdomain.com` with your actual domain:
|
||||
|
||||
- **Wildcard Record (Required):**
|
||||
`A *.yourdomain.com` -> `YOUR_SERVER_IP`
|
||||
- **Apex/Root Domain Record (Recommended, if you plan to use `yourdomain.com` directly for any service or a landing page):**
|
||||
`A yourdomain.com` -> `YOUR_SERVER_IP`
|
||||
|
||||
3. **Server:** Minimum server system requirements: Ubuntu 24.04 LTS x64, **8 GB Memory / 4 Intel vCPUs / 60 GB Disk**.
|
||||
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. Connect to your server via SSH and run:
|
||||
The recommended way to install is using the provided main installation script.
|
||||
|
||||
```bash
|
||||
git clone https://github.com/kossakovsky/n8n-installer && cd n8n-installer && bash ./scripts/install.sh
|
||||
```
|
||||
1. Connect to your server via SSH.
|
||||
2. Run the following commands:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/kossakovsky/n8n-installer && cd n8n-installer && bash ./scripts/install.sh
|
||||
```
|
||||
|
||||
This single command automates the entire setup process, including:
|
||||
|
||||
- System preparation (updates, firewall configuration with UFW, Fail2Ban setup for brute-force protection).
|
||||
- Docker and Docker Compose installation.
|
||||
- Generation of the `.env` configuration file with necessary secrets and your domain settings.
|
||||
- Launching all the services using Docker Compose.
|
||||
- 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 A-record.
|
||||
2. Your **email address** (Required, used for service logins like Flowise, Supabase dashboard, Grafana, etc., and crucial for Let's Encrypt SSL certificates).
|
||||
3. An optional **OpenAI API key** (Not required, used by Supabase AI features and Crawl4ai if provided. Press Enter to skip).
|
||||
4. Whether you want to **import ~300 ready-made n8n community workflows** (y/n, Optional. This can take around 20-30 minutes depending on your server and network).
|
||||
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 containing the access URLs and credentials for the deployed services.
|
||||
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
|
||||
## ⚡️ Quick Start and Usage
|
||||
|
||||
The services will be available at the following hostnames (replace `yourdomain.com` with your actual domain):
|
||||
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: `supabase.yourdomain.com`
|
||||
- Langfuse: `langfuse.yourdomain.com`
|
||||
- Grafana: `grafana.yourdomain.com`
|
||||
- SearXNG: `searxng.yourdomain.com`
|
||||
- Prometheus: `prometheus.yourdomain.com`
|
||||
- **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 a
|
||||
suite of basic and advanced AI nodes such as
|
||||
[AI Agent](https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.agent/),
|
||||
[Text classifier](https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.text-classifier/),
|
||||
and [Information Extractor](https://docs.n8n.io/integrations/builtin/cluster-nodes/root-nodes/n8n-nodes-langchain.information-extractor/)
|
||||
nodes. Remember to use Qdrant or Supabase as your vector store. If you wish to use language models, you can configure the n8n instance, assuming you have an LLM instance running separately.
|
||||
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 containers to their latest versions (n8n, Open WebUI, etc.), run these commands:
|
||||
and pull the latest changes from the repository, use the update script:
|
||||
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
|
||||
sudo bash ./scripts/update.sh
|
||||
bash ./scripts/update.sh
|
||||
```
|
||||
|
||||
This script will:
|
||||
|
||||
1. Pull the latest changes from the Git repository.
|
||||
2. Stop the currently running services.
|
||||
3. Pull the latest Docker images for all services.
|
||||
4. Ask if you want to re-run the n8n workflow import (useful if you skipped import during installation).
|
||||
5. Restart the services.
|
||||
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.
|
||||
|
||||
## Important Links
|
||||
|
||||
- Based on a project by [coleam00](https://github.com/coleam00/local-ai-packaged)
|
||||
|
||||
- [Original Starter Kit](https://github.com/n8n-io/self-hosted-ai-starter-kit) by the n8n team
|
||||
|
||||
- [Community forum](https://thinktank.ottomator.ai/c/local-ai/18) over in the oTTomator Think Tank
|
||||
|
||||
- [GitHub Kanban board](https://github.com/users/coleam00/projects/2/views/1) for feature implementation and bug squashing.
|
||||
|
||||
- Download my N8N + OpenWebUI integration [directly on the Open WebUI site.](https://openwebui.com/f/coleam/n8n_pipe/) (more instructions below)
|
||||
- [Community forum](https://thinktank.ottomator.ai/c/local-ai/18) over in the oTTomator Think Tank for discussions and support.
|
||||
- [GitHub Kanban board](https://github.com/users/coleam00/projects/2/views/1) for tracking new features and bug fixes.
|
||||
- Download an N8N + OpenWebUI integration [directly on the Open WebUI site.](https://openwebui.com/f/coleam/n8n_pipe/) (More instructions may be available on that page).
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
@@ -129,68 +122,57 @@ Here are solutions to common issues you might encounter:
|
||||
|
||||
### Supabase Issues
|
||||
|
||||
- **Supabase Pooler Restarting**: If the supabase-pooler container keeps restarting itself, follow the instructions in [this GitHub issue](https://github.com/supabase/supabase/issues/30210#issuecomment-2456955578).
|
||||
- **Supabase Pooler Restarting:** If the `supabase-pooler` component keeps restarting, follow the instructions in [this GitHub issue](https://github.com/supabase/supabase/issues/30210#issuecomment-2456955578).
|
||||
- **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.
|
||||
|
||||
- **Supabase Analytics Startup Failure**: If the supabase-analytics container fails to start after changing your Postgres password, delete the folder `supabase/docker/volumes/db/data`.
|
||||
## 👓 Recommended Reading
|
||||
|
||||
- **Supabase Service Unavailable** - Make sure you don't have an "@" character in your Postgres password! If the connection to the kong container is working (the container logs say it is receiving requests from n8n) but n8n says it cannot connect, this is generally the problem from what the community has shared. Other characters might not be allowed too, the @ symbol is just the one I know for sure!
|
||||
|
||||
## 👓 Recommended reading
|
||||
|
||||
n8n is full of useful content for getting started quickly with its AI concepts
|
||||
and nodes. If you run into an issue, go to [support](#support).
|
||||
n8n offers excellent resources for getting started with its AI capabilities:
|
||||
|
||||
- [AI agents for developers: from theory to practice with n8n](https://blog.n8n.io/ai-agents/)
|
||||
- [Tutorial: Build an AI workflow in n8n](https://docs.n8n.io/advanced-ai/intro-tutorial/)
|
||||
- [Langchain Concepts in n8n](https://docs.n8n.io/advanced-ai/langchain/langchain-n8n/)
|
||||
- [Langchain Concepts in n8n](https://docs.n8n.io/advanced-ai/langchain/langchain-n8n/) (Langchain is a framework n8n uses for some AI features)
|
||||
- [Demonstration of key differences between agents and chains](https://docs.n8n.io/advanced-ai/examples/agent-chain-comparison/)
|
||||
- [What are vector databases?](https://docs.n8n.io/advanced-ai/examples/understand-vector-databases/)
|
||||
- [What are vector databases?](https://docs.n8n.io/advanced-ai/examples/understand-vector-databases/) (Explains tools like Supabase and Qdrant in more detail)
|
||||
|
||||
## 🎥 Video walkthrough
|
||||
## 🎥 Video Walkthrough
|
||||
|
||||
- [Cole's Guide to the AI Starter Kit](https://youtu.be/pOsO40HSbOo)
|
||||
- [Cole's Guide to the AI Starter Kit](https://youtu.be/pOsO40HSbOo) (Provides a visual guide to a similar setup)
|
||||
|
||||
## 🛍️ More AI templates
|
||||
## 🛍️ More AI Templates
|
||||
|
||||
For more AI workflow ideas, visit the [**official n8n AI template
|
||||
gallery**](https://n8n.io/workflows/?categories=AI). From each workflow,
|
||||
select the **Use workflow** button to automatically import the workflow into your
|
||||
n8n instance.
|
||||
For more AI workflow ideas, visit the [**official n8n AI template gallery**](https://n8n.io/workflows/?categories=AI). From each workflow, select the **Use workflow** button to automatically import it into your n8n instance.
|
||||
|
||||
### Learn AI key concepts
|
||||
### Learn AI Key Concepts (Examples from n8n.io)
|
||||
|
||||
- [AI Agent Chat](https://n8n.io/workflows/1954-ai-agent-chat/)
|
||||
- [AI chat with any data source (using the n8n workflow too)](https://n8n.io/workflows/2026-ai-chat-with-any-data-source-using-the-n8n-workflow-tool/)
|
||||
- [AI chat with any data source (using the n8n workflow tool)](https://n8n.io/workflows/2026-ai-chat-with-any-data-source-using-the-n8n-workflow-tool/)
|
||||
- [Chat with OpenAI Assistant (by adding a memory)](https://n8n.io/workflows/2098-chat-with-openai-assistant-by-adding-a-memory/)
|
||||
- [Use an open-source LLM (via HuggingFace)](https://n8n.io/workflows/1980-use-an-open-source-llm-via-huggingface/)
|
||||
- [Chat with PDF docs using AI (quoting sources)](https://n8n.io/workflows/2165-chat-with-pdf-docs-using-ai-quoting-sources/)
|
||||
- [AI agent that can scrape webpages](https://n8n.io/workflows/2006-ai-agent-that-can-scrape-webpages/)
|
||||
|
||||
### AI Templates
|
||||
### AI Templates (Examples from n8n.io)
|
||||
|
||||
- [Tax Code Assistant](https://n8n.io/workflows/2341-build-a-tax-code-assistant-with-qdrant-mistralai-and-openai/)
|
||||
- [Breakdown Documents into Study Notes with MistralAI and Qdrant](https://n8n.io/workflows/2339-breakdown-documents-into-study-notes-using-templating-mistralai-and-qdrant/)
|
||||
- [Financial Documents Assistant using Qdrant and](https://n8n.io/workflows/2335-build-a-financial-documents-assistant-using-qdrant-and-mistralai/) [Mistral.ai](http://mistral.ai/)
|
||||
- [Financial Documents Assistant using Qdrant and MistralAI](https://n8n.io/workflows/2335-build-a-financial-documents-assistant-using-qdrant-and-mistralai/)
|
||||
- [Recipe Recommendations with Qdrant and Mistral](https://n8n.io/workflows/2333-recipe-recommendations-with-qdrant-and-mistral/)
|
||||
|
||||
## Tips & tricks
|
||||
## Tips & Tricks
|
||||
|
||||
### Accessing Files on the Server
|
||||
|
||||
The starter kit will create a shared folder (by default,
|
||||
The installer will create a shared folder (by default,
|
||||
located in the same directory) which is mounted to the n8n container and
|
||||
allows n8n to access files on the server's disk. This folder within the n8n container is
|
||||
located at `/data/shared` -- this is the path you'll need to use in nodes that
|
||||
interact with the server's filesystem.
|
||||
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.
|
||||
|
||||
**Nodes that interact with the server's filesystem**
|
||||
**n8n components that interact with the server's filesystem:**
|
||||
|
||||
- [Read/Write Files from Disk](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.filesreadwrite/)
|
||||
- [Local File Trigger](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.localfiletrigger/)
|
||||
- [Execute Command](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.executecommand/)
|
||||
- [Local File Trigger](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.localfiletrigger/) (To start workflows when files change)
|
||||
- [Execute Command](https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.executecommand/) (To run command-line tools)
|
||||
|
||||
## 📜 License
|
||||
|
||||
This project (originally created by the n8n team, link at the top of the README) is licensed under the Apache License 2.0 - see the
|
||||
[LICENSE](LICENSE) file for details.
|
||||
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](LICENSE) file for details.
|
||||
|
||||
Reference in New Issue
Block a user