Hi, I test form with N8N with multi next form page and ending page. when user is in the first form submission no problème but when clic to submit and send to next form page it’s redirect to localhost:5678
My Workflow
Information on your n8n setup
- n8n version: 1.92.2
- Database (default: SQLite): Postgre:13-alpine
- n8n EXECUTIONS_PROCESS setting (default: own, main): Queue Mode
- Running n8n via (Docker, npm, n8n cloud, desktop app): Docker Swarm
- Operating system: N/A
This is my compose/Stack:
version: "3.8"
networks:
traefik-n8n:
external: true # Réseau partagé pour Traefik et les services exposés.
n8n-internal:
driver: overlay # Réseau interne pour la communication entre les services n8n.
services:
# Service principal (Interface utilisateur et API)
n8n-main:
image: n8nio/n8n:latest
command: start
environment:
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=postgres
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_DATABASE=n8n
- DB_POSTGRESDB_USER=n8n
- DB_POSTGRESDB_PASSWORD=xxxxxxxxxxxxx
- N8N_ENCRYPTION_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- EXECUTIONS_MODE=queue
- QUEUE_BULL_REDIS_HOST=redis
- QUEUE_BULL_REDIS_PORT=6379
- N8N_RUNNERS_ENABLED=true
- N8N_HOST=n8n.xxxxxxxxxxxxx.fr
- WEBHOOK_URL=https://webhook.xxxxxxxxxxxxx.fr/
- GENERIC_TIMEZONE=Europe/Paris
- N8N_EDITOR_BASE_URL=https://n8n.xxxxxxxxxxxxx.fr
- N8N_PROTOCOL=https
- N8N_EMAIL_MODE=smtp
- N8N_SMTP_HOST=10.150.150.230
- N8N_SMTP_PORT=25
- N8N_SMTP_SSL=false
- N8N_SMTP_STARTTLS=false
- [email protected]
- N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
- OFFLOAD_MANUAL_EXECUTIONS_TO_WORKERS=true
- QUEUE_BULL_REDIS_PASSWORD=n8n92
volumes:
- /mnt/n8n/data:/home/node/.n8n # Volume persistant partagé via ClusterFS.
networks:
- traefik-n8n # Pour exposer le service à Traefik.
- n8n-internal # Pour communication interne avec Redis et PostgreSQL.
deploy:
replicas: 1 # Une seule instance pour éviter les conflits sur l'interface utilisateur.
placement:
constraints:
- node.role == worker
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik-n8n"
- "traefik.http.routers.n8n-main.rule=Host(`n8n.xxxxxxxxxxxxx.fr`)"
- "traefik.http.routers.n8n-main.entrypoints=http"
- "traefik.http.routers.n8n-main.service=n8n-main"
- "traefik.http.services.n8n-main.loadbalancer.server.port=5678"
- "traefik.http.routers.n8n-main-traefik.rule=Host(`n8n.traefik.xxxxxxxxxxxxx.fr`)"
- "traefik.http.routers.n8n-main-traefik.entrypoints=http"
- "traefik.http.routers.n8n-main-traefik.service=n8n-main-traefik"
- "traefik.http.services.n8n-main-traefik.loadbalancer.server.port=5678"
# Service Webhook (gestion des webhooks)
n8n-webhook:
image: n8nio/n8n:latest
command: webhook
environment:
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=postgres
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_DATABASE=n8n
- DB_POSTGRESDB_USER=n8n
- DB_POSTGRESDB_PASSWORD=xxxxxxxxxxxxx
- N8N_ENCRYPTION_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- N8N_RUNNERS_ENABLED=true
- EXECUTIONS_MODE=queue
- QUEUE_BULL_REDIS_HOST=redis
- QUEUE_BULL_REDIS_PORT=6379
- WEBHOOK_URL=https://webhook.xxxxxxxxxxxxx.fr/
- N8N_PROTOCOL=https
- N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
- QUEUE_BULL_REDIS_PASSWORD=n8n92
networks:
- traefik-n8n # Pour exposer le service à Traefik.
- n8n-internal # Pour communication interne avec Redis et PostgreSQL.
deploy:
replicas: 4 # Plusieurs réplicas pour gérer les webhooks entrants de manière scalable.
placement:
constraints:
- node.role == worker
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik-n8n"
- "traefik.http.routers.n8n-webhook.rule=Host(`webhook.xxxxxxxxxxxxx.fr`)"
- "traefik.http.routers.n8n-webhook.entrypoints=http"
- "traefik.http.routers.n8n-webhook.service=n8n-webhook"
- "traefik.http.services.n8n-webhook.loadbalancer.server.port=5678"
- "traefik.http.routers.n8n-webhook-traefik.rule=Host(`webhook.traefik.xxxxxxxxxxxxx.fr`)"
- "traefik.http.routers.n8n-webhook-traefik.entrypoints=http"
- "traefik.http.routers.n8n-webhook-traefik.service=n8n-webhook"
- "traefik.http.services.n8n-webhook-traefik.loadbalancer.server.port=5678"
# Service Worker (exécution des workflows)
n8n-worker:
image: n8nio/n8n:latest
command: worker --concurrency=10
environment:
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=postgres
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_DATABASE=n8n
- DB_POSTGRESDB_USER=n8n
- DB_POSTGRESDB_PASSWORD=xxxxxxxxxxxxx
- N8N_ENCRYPTION_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
- N8N_RUNNERS_ENABLED=true
- EXECUTIONS_MODE=queue
- QUEUE_BULL_REDIS_HOST=redis
- QUEUE_BULL_REDIS_PORT=6379
- N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
- QUEUE_BULL_REDIS_PASSWORD=n8n92
networks:
- n8n-internal # Communication interne uniquement.
deploy:
replicas: 4 # Ajustez selon la charge de travail.
placement:
constraints:
- node.role == worker
# Service Redis (gestion des files d'attente)
redis:
image: redis:latest
volumes:
- /mnt/n8n/redis/data:/data # Volume pour persistance Redis (si nécessaire).
hostname: redis
environment:
- REDIS_PASSWORD=n8n92
command: redis-server --requirepass n8n92
networks:
- n8n-internal # Communication interne uniquement.
deploy:
replicas: 1 # Une seule instance suffit généralement.
placement:
constraints:
- node.role == worker
redis-commander:
container_name: redis-commander
hostname: redis-commander
image: rediscommander/redis-commander:latest
restart: always
environment:
- REDIS_HOSTS=local:redis:6379:0:n8n92
volumes:
- /mnt/n8n/redis-commander/config:/redis-commander/config
networks:
- traefik-n8n
- n8n-internal # Communication interne uniquement.
deploy:
replicas: 1 # Une seule instance suffit généralement.
placement:
constraints:
- node.role == worker
labels:
- "traefik.enable=true"
- "traefik.docker.network=traefik-n8n"
- "traefik.http.routers.n8n-redis.rule=Host(`redis.traefik.xxxxxxxxxxxxx.fr`)"
- "traefik.http.routers.n8n-redis.entrypoints=http"
- "traefik.http.routers.n8n-redis.service=n8n-redis"
- "traefik.http.services.n8n-redis.loadbalancer.server.port=8081"
# Service PostgreSQL (base de données)
postgres:
image: postgres:13-alpine
environment:
POSTGRES_USER: n8n
POSTGRES_PASSWORD: xxxxxxxxxxxxx
POSTGRES_DB: n8n
volumes:
- /mnt/n8n/db:/var/lib/postgresql/data # Volume persistant partagé via ClusterFS.
networks:
- n8n-internal # Communication interne uniquement.
deploy:
replicas: 1
placement:
constraints:
- node.role == worker
Thank's for your help 🙏