# n8n — minimal setup
services: n8n: image: n8nio/n8n:2.11.3 ports: - "5678:5678" volumes: - n8n_data:/home/node/.n8n -weight: 500;">restart: unless-stopped
# n8n — minimal setup
services: n8n: image: n8nio/n8n:2.11.3 ports: - "5678:5678" volumes: - n8n_data:/home/node/.n8n -weight: 500;">restart: unless-stopped
# n8n — minimal setup
services: n8n: image: n8nio/n8n:2.11.3 ports: - "5678:5678" volumes: - n8n_data:/home/node/.n8n -weight: 500;">restart: unless-stopped
# Temporal — minimal development setup
services: temporal: image: temporalio/auto-setup:1.29.3 ports: - "7233:7233" depends_on: - postgresql environment: - DB=postgresql - DB_PORT=5432 - POSTGRES_USER=temporal - POSTGRES_PWD=temporal - POSTGRES_SEEDS=postgresql -weight: 500;">restart: unless-stopped postgresql: image: postgres:16-alpine environment: POSTGRES_USER: temporal POSTGRES_PASSWORD: temporal volumes: - temporal_db:/var/lib/postgresql/data -weight: 500;">restart: unless-stopped temporal-ui: image: temporalio/ui:2.36.2 ports: - "8080:8080" environment: - TEMPORAL_ADDRESS=temporal:7233 depends_on: - temporal -weight: 500;">restart: unless-stopped # You still need to build and deploy your own worker
# Temporal — minimal development setup
services: temporal: image: temporalio/auto-setup:1.29.3 ports: - "7233:7233" depends_on: - postgresql environment: - DB=postgresql - DB_PORT=5432 - POSTGRES_USER=temporal - POSTGRES_PWD=temporal - POSTGRES_SEEDS=postgresql -weight: 500;">restart: unless-stopped postgresql: image: postgres:16-alpine environment: POSTGRES_USER: temporal POSTGRES_PASSWORD: temporal volumes: - temporal_db:/var/lib/postgresql/data -weight: 500;">restart: unless-stopped temporal-ui: image: temporalio/ui:2.36.2 ports: - "8080:8080" environment: - TEMPORAL_ADDRESS=temporal:7233 depends_on: - temporal -weight: 500;">restart: unless-stopped # You still need to build and deploy your own worker
# Temporal — minimal development setup
services: temporal: image: temporalio/auto-setup:1.29.3 ports: - "7233:7233" depends_on: - postgresql environment: - DB=postgresql - DB_PORT=5432 - POSTGRES_USER=temporal - POSTGRES_PWD=temporal - POSTGRES_SEEDS=postgresql -weight: 500;">restart: unless-stopped postgresql: image: postgres:16-alpine environment: POSTGRES_USER: temporal POSTGRES_PASSWORD: temporal volumes: - temporal_db:/var/lib/postgresql/data -weight: 500;">restart: unless-stopped temporal-ui: image: temporalio/ui:2.36.2 ports: - "8080:8080" environment: - TEMPORAL_ADDRESS=temporal:7233 depends_on: - temporal -weight: 500;">restart: unless-stopped # You still need to build and deploy your own worker - You're building a distributed application with complex, long-running business logic
- You need guaranteed workflow completion across failures and restarts
- Your team writes code and wants workflow orchestration as infrastructure
- You're running microservices and need reliable saga patterns or compensation logic
- You need to process thousands of workflows per second
- You want built-in workflow versioning and deterministic replay - You want to automate tasks between SaaS tools and self-hosted services
- You need a visual builder that non-developers can use
- You're replacing Zapier, Make, or IFTTT
- You want 400+ pre-built integrations without writing code
- You need something running in 5 minutes, not 5 hours
- Your automation needs are typical business workflows, not distributed systems - How to Self-Host n8n
- n8n vs Node-RED
- n8n vs Huginn
- n8n vs Activepieces
- Windmill vs n8n
- Best Self-Hosted Automation Tools
- Self-Hosted Alternatives to Zapier