# documentation: https://n8n.io # slogan: n8n is an extendable workflow automation tool. # tags: n8n,workflow,automation,open,source,low,code # logo: svgs/n8n.png # port: 5678 services: n8n: image: docker.n8n.io/n8nio/n8n environment: - SERVICE_FQDN_N8N_5678 - N8N_EDITOR_BASE_URL=${SERVICE_FQDN_N8N} - WEBHOOK_URL=${SERVICE_FQDN_N8N} - N8N_HOST=${SERVICE_URL_N8N} - GENERIC_TIMEZONE=Europe/Berlin - TZ=Europe/Berlin - DB_TYPE=postgresdb - DB_POSTGRESDB_DATABASE=${POSTGRES_DB:-n8n} - DB_POSTGRESDB_HOST=postgresql - DB_POSTGRESDB_PORT=5432 - DB_POSTGRESDB_USER=$SERVICE_USER_POSTGRES - DB_POSTGRESDB_SCHEMA=public - DB_POSTGRESDB_PASSWORD=$SERVICE_PASSWORD_POSTGRES volumes: - n8n-data:/home/node/.n8n depends_on: postgresql: condition: service_healthy healthcheck: test: ["CMD-SHELL", "wget -qO- http://localhost:5678/"] interval: 5s timeout: 20s retries: 10 postgresql: image: postgres:16-alpine volumes: - postgresql-data:/var/lib/postgresql/data environment: - POSTGRES_USER=$SERVICE_USER_POSTGRES - POSTGRES_PASSWORD=$SERVICE_PASSWORD_POSTGRES - POSTGRES_DB=${POSTGRES_DB:-n8n} healthcheck: test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"] interval: 5s timeout: 20s retries: 10