A comprehensive n8n setup with PostgreSQL database, Redis queue, Caddy reverse proxy, and additional AI/automation services including Flowise, Open WebUI, Qdrant vector database, and Neo4j graph database.
- Self-hosted n8n: Workflow automation tool (main service + worker)
- Flowise - No/low code AI agent builder that pairs very well with n8nm
- Open WebUI: ChatGPT-like interface to privately interact with your local models and N8N agents
- Qdrant - Open source, high performance vector store with an comprehensive API.
- Caddy: Reverse proxy with automatic HTTPS (gets your SSL certs automatically!)
- Neo4j - Knowledge graph engine that powers tools like GraphRAG, LightRAG, and Graphiti
- PostgreSQL: Database backend for n8n
- Redis: Queue backend for n8n workflows
First, install the necessary software:
- Git/GitHub Desktop - For easy repository management
- Docker/Docker Desktop - Required to run all services
Clone the repository and navigate to the project directory:
git clone https://github.com/elliotboney/n8n-docker/
cd n8n-docker- Copy the example to
.env:
cp .env.example .env- Fill in all the placeholder values with your own, unique, and strong credentials.
- Make sure to set the correct permissions on the
.envfile to protect sensitive information (e.g.,chmod 600 .env).
To start the entire stack, simply start docker-compose by executing the following command in the current folder.
IMPORTANT: But before you do that change the default users and passwords in the .env file!
docker-compose up -dTo stop it execute:
docker-compose stopWhen running with hostnames configured in your .env file:
- n8n: https://your-n8n-hostname
- Open WebUI: https://your-webui-hostname
- Flowise: https://your-flowise-hostname
- Neo4j: https://your-neo4j-hostname
When running locally without custom hostnames:
- n8n: http://localhost:8001
- Open WebUI: http://localhost:8002
- Flowise: http://localhost:8003
- Neo4j: http://localhost:8008