Website • Documentation • GitHub • Community
n8n is an open-source workflow automation platform. Connect apps, automate tasks, and build complex workflows with a visual editor. A powerful, self-hosted alternative to Zapier and Make.
- Visual Workflow Builder — Drag-and-drop interface
- 400+ Integrations — Connect to popular services
- Code When Needed — JavaScript/Python for custom logic
- Self-Hosted — Full control over your data
- Webhooks — Trigger workflows from external events
- Scheduling — Run workflows on a schedule
- Error Handling — Built-in retry and error workflows
- Docker and Docker Compose
- External Docker network
- Reverse proxy (Caddy, Nginx, Traefik)
Copy and edit the environment file:
cp .env.example .env
nano .envUpdate these values:
POSTGRES_USER/POSTGRES_PASSWORD— Database root credentialsPOSTGRES_NON_ROOT_USER/POSTGRES_NON_ROOT_PASSWORD— n8n database user
Edit docker-compose.yml:
- Replace
your-networkwith your Docker network name - Update
WEBHOOK_URLto your public URL - Update
N8N_HOSTto your domain - Generate and set
N8N_ENCRYPTION_KEY - Update
GENERIC_TIMEZONEto your timezone
openssl rand -hex 32docker compose up -dNavigate to your configured domain and create an owner account.
| Variable | Description | Default |
|---|---|---|
POSTGRES_USER |
PostgreSQL root username | changeUser |
POSTGRES_PASSWORD |
PostgreSQL root password | changePassword |
POSTGRES_DB |
Database name | n8n |
POSTGRES_NON_ROOT_USER |
n8n database username | changeUser |
POSTGRES_NON_ROOT_PASSWORD |
n8n database password | changePassword |
WEBHOOK_URL |
Public webhook URL | (required) |
N8N_HOST |
n8n hostname | (required) |
N8N_ENCRYPTION_KEY |
Encryption key for credentials | (required) |
GENERIC_TIMEZONE |
Timezone | Europe/Bratislava |
n8n.example.com {
reverse_proxy http://localhost:5678
}
| Port | Service | Description |
|---|---|---|
| 5678 | HTTP | Web interface & webhooks |
| Path | Description |
|---|---|
./db_storage |
PostgreSQL data |
./n8n_storage |
n8n workflows and credentials |
To enable email notifications, uncomment and configure the SMTP settings in docker-compose.yml:
- N8N_EMAIL_MODE=smtp
- N8N_SMTP_HOST=smtp.example.com
- N8N_SMTP_PORT=587
- N8N_SMTP_USER=your-user
- N8N_SMTP_PASS=your-password
- N8N_SMTP_SENDER=n8n@example.com- ☁️ n8n Cloud — Managed hosting
- ⭐ Star on GitHub
- 💬 Join Community
- 📖 Documentation
n8n is released under a Sustainable Use License.
