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.

Environment:FlowiseAI Flowise Docker Environment

From Leeroopedia
Knowledge Sources
Domains Infrastructure, Docker
Last Updated 2026-02-12 07:30 GMT

Overview

Docker and Docker Compose environment for running Flowise as a containerized service with persistent storage.

Description

This environment provides a containerized deployment context for Flowise using Docker. The official image `flowiseai/flowise:latest` is built on `node:20-alpine` and includes all system dependencies (Chromium, build tools, PNPM). Docker Compose configurations support standalone, queue-based (with Redis workers), and GPU modes. Persistent data is stored via a volume mount at `~/.flowise`.

Usage

Use this environment for production deployment, staging environments, or quick local testing without building from source. It is the mandatory prerequisite for running the Docker_Compose_Configuration implementation.

System Requirements

Category Requirement Notes
OS Any OS with Docker support Linux, macOS, Windows with Docker Desktop
Docker Docker Engine 20.10+ Docker Compose v2 (included with Docker Desktop)
Hardware 4GB+ RAM Container configured with 8GB heap via NODE_OPTIONS
Disk 2GB+ for image Plus storage for `~/.flowise` volume (database, logs, uploads)
Network Port 3000 (default) Configurable via PORT environment variable

Dependencies

Container Image

  • `flowiseai/flowise:latest` — Official pre-built image from Docker Hub
  • Base: `node:20-alpine`
  • Includes: Chromium, Python 3, build tools, PNPM

Docker Compose Services

  • Standalone mode: Single `flowise` service
  • Queue mode: `flowise` (main) + `flowise-worker` + `redis` services
  • GPU mode: Adds NVIDIA GPU runtime to queue configuration

Credentials

The following environment variables configure the Docker container. Set them in a `.env` file alongside `docker-compose.yml`:

Core:

  • `PORT`: HTTP port (default: `3000`)
  • `DATABASE_TYPE`: `sqlite` | `mysql` | `mariadb` | `postgres` (default: `sqlite`)
  • `DATABASE_PATH`: SQLite file location (default: `/root/.flowise`)

Authentication:

  • `JWT_AUTH_TOKEN_SECRET`: JWT signing secret (required for auth)
  • `JWT_REFRESH_TOKEN_SECRET`: Refresh token signing secret
  • `EXPRESS_SESSION_SECRET`: Express session secret

Storage:

  • `STORAGE_TYPE`: `local` | `s3` | `gcs` (default: `local`)
  • `BLOB_STORAGE_PATH`: Local file storage path (default: `/root/.flowise/storage`)
  • `S3_STORAGE_BUCKET_NAME`: S3 bucket (if STORAGE_TYPE=s3)
  • `S3_STORAGE_ACCESS_KEY_ID`: AWS access key (if STORAGE_TYPE=s3)
  • `S3_STORAGE_SECRET_ACCESS_KEY`: AWS secret key (if STORAGE_TYPE=s3)

Encryption:

  • `SECRETKEY_PATH`: Encryption key file path (default: `/root/.flowise`)
  • `FLOWISE_SECRETKEY_OVERWRITE`: Override encryption key directly

Logging:

  • `LOG_LEVEL`: `error` | `warn` | `info` | `verbose` | `debug` (default: `info`)
  • `LOG_PATH`: Log output directory (default: `/root/.flowise/logs`)

Quick Install

# Create .env file with minimum configuration
echo "PORT=3000" > .env

# Start Flowise with Docker Compose
docker compose up -d

# Check health
curl http://localhost:3000/api/v1/ping

Code Evidence

Docker image base and system dependencies from `Dockerfile:7-21`:

FROM node:20-alpine

RUN apk update && \
    apk add --no-cache \
        libc6-compat \
        python3 \
        make \
        g++ \
        build-base \
        cairo-dev \
        pango-dev \
        chromium \
        curl && \
    npm install -g pnpm

Healthcheck configuration from `docker/docker-compose.yml:138-143`:

healthcheck:
    test: ['CMD', 'curl', '-f', 'http://localhost:${PORT}/api/v1/ping']
    interval: 10s
    timeout: 5s
    retries: 5
    start_period: 30s

Persistent storage volume from `docker/docker-compose.yml:144-145`:

volumes:
    - ~/.flowise:/root/.flowise

Startup delay to allow dependent services from `docker/docker-compose.yml:146`:

entrypoint: /bin/sh -c "sleep 3; flowise start"

Common Errors

Error Message Cause Solution
Healthcheck failing (container unhealthy) Service not ready within start_period Increase `start_period` in docker-compose.yml; check logs with `docker compose logs`
`ENOSPC: no space left on device` Docker volume or host disk full Clean unused Docker images/volumes with `docker system prune`
`Error: connect ECONNREFUSED` (database) External database not reachable from container Ensure DATABASE_HOST is reachable from container network; use `host.docker.internal` for host services
Permission denied on `/root/.flowise` Volume mount permission mismatch Ensure `~/.flowise` exists and is writable; the container runs as `node` user after build

Compatibility Notes

  • Docker Desktop (macOS/Windows): Use `host.docker.internal` to access host-network services (databases, Redis)
  • Linux Docker: Add `--network host` or configure proper networking for host service access
  • GPU mode: Requires NVIDIA Container Toolkit and `docker compose -f docker-compose-queue-prebuilt.yml` with GPU profile
  • ARM64 (Apple Silicon / AWS Graviton): The official image supports multi-arch; verify native module compatibility

Related Pages

Page Connections

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