How to Self-Host n8n with Docker for AI Workflows
Run your own n8n instance in Docker with persistent storage and an encryption key so AI workflows and credentials survive restarts.
Before you can build a single AI workflow you need a place to run n8n. The cloud version works, but self-hosting with Docker gives you full control, no execution caps, and a local sandbox to test prompts without burning anyone's quota. This guide gets a persistent n8n instance running in about ten minutes.
What you need
- Docker and Docker Compose installed (Docker Desktop on Mac or Windows works fine)
- A terminal and any text editor
- An OpenAI, Anthropic, or other LLM API key for later (not required to boot n8n itself)
Step 1: Create a project folder and compose file
Make a folder for the stack, then create a docker-compose.yml inside it. The named volume keeps your workflows and credentials on disk so they are not wiped when the container restarts.
services:
n8n:
image: docker.n8n.io/n8nio/n8n:latest
restart: unless-stopped
ports:
- "5678:5678"
environment:
- N8N_ENCRYPTION_KEY=replace-with-a-long-random-string
- N8N_HOST=localhost
- N8N_PORT=5678
- WEBHOOK_URL=http://localhost:5678/
- GENERIC_TIMEZONE=Europe/Kyiv
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:Step 2: Start the container
From the same folder, bring the stack up in the background. The first run pulls the image, which can take a minute on a fresh machine.
Step 3: Create your owner account
Open http://localhost:5678 in a browser. The first time you load it, n8n asks you to create an owner account with an email and password. This account is local to your instance, so use any credentials you like.
Step 4: Confirm it survives a restart
Create a throwaway workflow, save it, then run the restart command below. Reload the editor and confirm the workflow is still there. If it is, your volume is mounted correctly and you are ready to build.
Result
You now have a private n8n instance at localhost:5678 with persistent storage and a stable encryption key. Every guide in this series builds on this exact instance, so keep the folder and the encryption key around.
Watch related tutorials
32:08
21:45
34:10
26:40
32:15
40:20