Implementation:FlowiseAI Flowise Docker Compose Queue Prebuilt
| Knowledge Sources | |
|---|---|
| Domains | Infrastructure, Deployment |
| Last Updated | 2026-02-12 07:00 GMT |
Overview
This Docker Compose configuration defines a multi-service queue-based deployment of Flowise using prebuilt images with Redis as the message broker.
Description
The file orchestrates three Docker services: a Redis instance for queue management, the main Flowise application server, and a dedicated Flowise Worker for processing queued tasks. It uses Docker Compose version 3.1 and connects all services through a shared bridge network called flowise-net. The configuration supports extensive environment variable passthrough for database, authentication, storage, metrics, and enterprise features.
Usage
Use this Docker Compose file when deploying Flowise in a production environment that requires queue-based task processing. It is ideal for horizontally scaling workloads by separating the main API server from background workers, with Redis facilitating communication between them.
Code Reference
Source Location
- Repository: FlowiseAI Flowise
- File: docker/docker-compose-queue-prebuilt.yml
- Lines: 1-316
Signature
version: '3.1'
services:
redis:
image: redis:alpine
container_name: flowise-redis
flowise:
image: flowiseai/flowise:latest
container_name: flowise-main
flowise-worker:
image: flowiseai/flowise-worker:latest
container_name: flowise-worker
Import
# Launch using Docker Compose from the docker/ directory:
docker compose -f docker-compose-queue-prebuilt.yml up -d
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| PORT | string | No | Port for the main Flowise server (default: 3000) |
| WORKER_PORT | string | No | Port for the worker health check (default: 5566) |
| DATABASE_TYPE | string | No | Database engine type (e.g., postgres, mysql) |
| DATABASE_HOST | string | No | Database server hostname |
| DATABASE_NAME | string | No | Database name |
| DATABASE_USER | string | No | Database connection username |
| DATABASE_PASSWORD | string | No | Database connection password |
| MODE | string | No | Operation mode (default: queue) |
| QUEUE_NAME | string | No | Name of the BullMQ queue (default: flowise-queue) |
| REDIS_URL | string | No | Redis connection URL (default: redis://redis:6379) |
| JWT_AUTH_TOKEN_SECRET | string | No | Secret key for JWT auth tokens |
| FLOWISE_EE_LICENSE_KEY | string | No | Enterprise edition license key |
Outputs
| Name | Type | Description |
|---|---|---|
| flowise-main | container | Main Flowise API server accessible on configured PORT |
| flowise-worker | container | Background worker processing queue tasks |
| flowise-redis | container | Redis instance serving as the message queue broker |
| redis_data | volume | Persistent volume for Redis data |
| flowise-net | network | Bridge network connecting all services |
Usage Examples
Basic Usage
# .env file alongside docker-compose-queue-prebuilt.yml
PORT=3000
DATABASE_TYPE=postgres
DATABASE_HOST=your-db-host
DATABASE_NAME=flowise
DATABASE_USER=flowise_user
DATABASE_PASSWORD=secret
REDIS_URL=redis://redis:6379
MODE=queue
QUEUE_NAME=flowise-queue
JWT_AUTH_TOKEN_SECRET=your-jwt-secret
# Then run:
# docker compose -f docker-compose-queue-prebuilt.yml up -d