Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:FlowiseAI Flowise Docker Compose Configuration

From Leeroopedia
Attribute Value
Page Name Docker_Compose_Configuration
Workflow Chatbot_Deployment
Repository FlowiseAI/Flowise
Type External Tool Doc
Domain Infrastructure, Deployment, DevOps
Source docker/docker-compose.yml:L1-146, docker/docker-compose-queue-prebuilt.yml, docker/docker-compose-queue-source.yml
Last Updated 2026-02-12 14:00 GMT

Overview

Docker Compose configuration files for deploying Flowise as a containerized application. This is an External Tool Doc -- the configuration files define infrastructure topology and are executed via the docker compose CLI rather than through application code.

Code Reference

Source Location

  • Primary: docker/docker-compose.yml (146 lines) -- Basic single-service deployment
  • Queue (prebuilt): docker/docker-compose-queue-prebuilt.yml -- Queue mode with pre-built Docker Hub images
  • Queue (source): docker/docker-compose-queue-source.yml -- Queue mode building from source
  • Dockerfile: docker/Dockerfile -- Container image build definition

Docker Image

image: flowiseai/flowise:latest

Pre-built images are available from Docker Hub at flowiseai/flowise. The queue worker uses flowiseai/flowise-worker:latest.

Configuration

Basic Deployment (docker-compose.yml)

version: '3.1'

services:
    flowise:
        image: flowiseai/flowise:latest
        restart: always
        environment:
            - PORT=${PORT}
            - DATABASE_PATH=${DATABASE_PATH}
            - DATABASE_TYPE=${DATABASE_TYPE}
            - DATABASE_PORT=${DATABASE_PORT}
            - DATABASE_HOST=${DATABASE_HOST}
            - DATABASE_NAME=${DATABASE_NAME}
            - DATABASE_USER=${DATABASE_USER}
            - DATABASE_PASSWORD=${DATABASE_PASSWORD}
            - SECRETKEY_PATH=${SECRETKEY_PATH}
        ports:
            - '${PORT}:${PORT}'
        healthcheck:
            test: ['CMD', 'curl', '-f', 'http://localhost:${PORT}/api/v1/ping']
            interval: 10s
            timeout: 5s
            retries: 5
            start_period: 30s
        volumes:
            - ~/.flowise:/root/.flowise
        entrypoint: /bin/sh -c "sleep 3; flowise start"

Queue Mode Deployment (docker-compose-queue-prebuilt.yml)

version: '3.1'

services:
    redis:
        image: redis:alpine
        container_name: flowise-redis
        ports:
            - '6379:6379'
        volumes:
            - redis_data:/data
        networks:
            - flowise-net
        restart: always

    flowise:
        image: flowiseai/flowise:latest
        container_name: flowise-main
        restart: always
        ports:
            - '${PORT:-3000}:${PORT:-3000}'
        volumes:
            - ~/.flowise:/root/.flowise
        environment:
            - PORT=${PORT:-3000}
            - MODE=${MODE:-queue}
            - QUEUE_NAME=${QUEUE_NAME:-flowise-queue}
            - REDIS_URL=${REDIS_URL:-redis://redis:6379}
        healthcheck:
            test: ['CMD', 'curl', '-f', 'http://localhost:${PORT:-3000}/api/v1/ping']
            interval: 10s
            timeout: 5s
            retries: 5
            start_period: 30s
        entrypoint: /bin/sh -c "sleep 3; flowise start"
        depends_on:
            - redis
        networks:
            - flowise-net

    flowise-worker:
        image: flowiseai/flowise-worker:latest
        container_name: flowise-worker
        restart: always
        volumes:
            - ~/.flowise:/root/.flowise
        environment:
            - WORKER_PORT=${WORKER_PORT:-5566}
            - MODE=${MODE:-queue}
            - QUEUE_NAME=${QUEUE_NAME:-flowise-queue}
            - REDIS_URL=${REDIS_URL:-redis://redis:6379}
        healthcheck:
            test: ['CMD', 'curl', '-f', 'http://localhost:${WORKER_PORT:-5566}/healthz']
            interval: 10s
            timeout: 5s
            retries: 5
            start_period: 30s
        entrypoint: /bin/sh -c "node /app/healthcheck/healthcheck.js & sleep 5 && pnpm run start-worker"
        depends_on:
            - redis
            - flowise
        networks:
            - flowise-net

volumes:
    redis_data:
        driver: local

networks:
    flowise-net:
        driver: bridge

Key Environment Variables

Variable Default Description
PORT 3000 Server port for the main Flowise instance
DATABASE_TYPE (SQLite) Database type: leave empty for SQLite, set to postgres for PostgreSQL
DATABASE_HOST -- PostgreSQL host address
DATABASE_PORT -- PostgreSQL port
DATABASE_NAME -- PostgreSQL database name
DATABASE_USER -- PostgreSQL username
DATABASE_PASSWORD -- PostgreSQL password
DATABASE_SSL -- Enable SSL for database connections
SECRETKEY_PATH -- Path for storing secret encryption keys
SECRETKEY_STORAGE_TYPE -- Storage type for secrets (local or AWS)
MODE (empty) Set to queue to enable distributed queue processing
QUEUE_NAME flowise-queue Name of the BullMQ queue
REDIS_URL redis://redis:6379 Redis connection URL for queue mode
REDIS_HOST -- Redis host (alternative to REDIS_URL)
REDIS_PORT -- Redis port (alternative to REDIS_URL)
WORKER_CONCURRENCY -- Number of concurrent jobs the worker processes
CORS_ORIGINS -- Allowed CORS origins
IFRAME_ORIGINS -- Allowed iframe embedding origins
STORAGE_TYPE -- Blob storage type (local, s3, gcs)
BLOB_STORAGE_PATH -- Path for local blob storage
LOG_LEVEL -- Logging level
ENABLE_METRICS -- Enable metrics collection
METRICS_PROVIDER -- Metrics provider (e.g., OpenTelemetry)
JWT_AUTH_TOKEN_SECRET -- Secret for JWT authentication tokens
JWT_REFRESH_TOKEN_SECRET -- Secret for JWT refresh tokens
FLOWISE_EE_LICENSE_KEY -- Enterprise edition license key

Commands

Basic Deployment

# Start Flowise with basic configuration
cd docker
docker compose up -d

# View logs
docker compose logs -f flowise

# Stop
docker compose down

Queue Mode Deployment (Pre-built Images)

# Start Flowise in queue mode with Redis
cd docker
docker compose -f docker-compose-queue-prebuilt.yml up -d

# View logs for all services
docker compose -f docker-compose-queue-prebuilt.yml logs -f

# Scale workers (if orchestrator supports it)
docker compose -f docker-compose-queue-prebuilt.yml up -d --scale flowise-worker=3

# Stop all services
docker compose -f docker-compose-queue-prebuilt.yml down

Queue Mode Deployment (From Source)

# Build and start from source
cd docker
docker compose -f docker-compose-queue-source.yml up -d --build

# Stop all services
docker compose -f docker-compose-queue-source.yml down

Environment File Setup

# Create .env file in the docker directory
cat > .env << 'EOF'
PORT=3000
DATABASE_TYPE=postgres
DATABASE_HOST=your-db-host
DATABASE_PORT=5432
DATABASE_NAME=flowise
DATABASE_USER=flowise
DATABASE_PASSWORD=your-secure-password
SECRETKEY_PATH=/root/.flowise
JWT_AUTH_TOKEN_SECRET=your-jwt-secret
JWT_REFRESH_TOKEN_SECRET=your-refresh-secret
EOF

# Start with the environment file
docker compose up -d

Three Compose Configurations

File Services Image Source Use Case
docker-compose.yml flowise Docker Hub (prebuilt) Basic single-service deployment
docker-compose-queue-prebuilt.yml redis, flowise, flowise-worker Docker Hub (prebuilt) Production queue mode
docker-compose-queue-source.yml redis, flowise, flowise-worker Built from source (Dockerfile) Development/testing queue mode

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment