version: '3.8' services: n8n: image: n8nio/n8n:latest container_name: n8n-app ports: - "5678:5678" environment: - N8N_PROTOCOL=http # Use http for IP access - N8N_HOST=173.249.20.244 # Your server public IP - N8N_PORT=5678 - N8N_WEBHOOK_URL=http://173.249.20.244:5678/ # Use http and your IP - WEBHOOK_URL=http://173.249.20.244:5678/ # Also set WEBHOOK_URL - GENERIC_TIMEZONE=Europe/Paris - N8N_METRICS=true - N8N_USER_MANAGEMENT_DISABLED=false - N8N_USER_MANAGEMENT_JWT_SECRET=your-jwt-secret-change-this-12345 - DB_TYPE=postgresdb - DB_POSTGRESDB_HOST=n8n-db # Internal Docker hostname - DB_POSTGRESDB_PORT=5432 - DB_POSTGRESDB_DATABASE=n8n - DB_POSTGRESDB_USER=n8n - DB_POSTGRESDB_PASSWORD=n8n_password - EXECUTIONS_DATA_PRUNE=true - EXECUTIONS_DATA_MAX_AGE=168 - N8N_SECURE_COOKIE=false - N8N_ENCRYPTION_KEY=your-encryption-key-change-this-67890 - N8N_PAYLOAD_SIZE_MAX=10485760 # 10MB - N8N_SKIP_WEBHOOK_DEREGISTRATION_SHUTDOWN=true volumes: - n8n-data:/home/node/.n8n networks: - n8n-network - integration-network depends_on: - n8n-db restart: unless-stopped n8n-db: image: postgres:15 container_name: n8n-postgres environment: - POSTGRES_USER=n8n - POSTGRES_PASSWORD=n8n_password - POSTGRES_DB=n8n volumes: - n8n-db-data:/var/lib/postgresql/data networks: - n8n-network restart: unless-stopped volumes: n8n-data: n8n-db-data: networks: n8n-network: driver: bridge integration-network: external: true