Flower can be configured from the command line:

$ celery flower --auto_refresh=False

Using configuration file:

# RabbitMQ management api
broker_api = 'http://guest:guest@localhost:15672/api/'

# Enable debug logging
logging = 'DEBUG'

Or, using the environment variables. All flower options should be prefixed with FLOWER_:

$ export FLOWER_BASIC_AUTH=foo:bar

Options passed through the command line have precedence over the options defined in the configuration file. The configuration file name and path can be changed with conf option.

$ celery flower


Standard Celery configuration settings can be overridden in the configuration file. See Celery Configuration reference for a complete listing of all the available settings, and their default values.

Celery command line options also can be passed to Flower. For example the –broker sets the default broker URL:

$ celery -A proj --broker=amqp://guest:guest@localhost:5672// flower

For a full list of options see:

$ celery --help


Run the http server on a given address. Address may be either an IP address or hostname. If it’s a hostname, the server will listen on all IP addresses associated with the name. Address may be an empty string or None to listen on all available interfaces.


Enables authentication. auth is a regexp of emails to grant access. For more info see authentication.


Refresh dashboards automatically (by default, auto_refresh=True)


Enables HTTP Basic authentication. basic_auth is a comma separated list of username:password. See HTTP Basic Authentication for more info.


Flower uses RabbitMQ Management Plugin to get info about queues. broker_api is a URL of RabbitMQ HTTP API including user credentials.

$ celery -A proj flower --broker_api=http://username:password@rabbitmq-server-name:15672/api/


By default the management plugin is not enabled. To enable it run:

$ rabbitmq-plugins enable rabbitmq_management


The port number for RabbitMQ versions prior to 3.0 is 55672.


A path to ca_certs file. The ca_certs file contains a set of concatenated “certification authority” certificates, which are used to validate certificates passed from the other end of the connection. For more info see Python SSL


A path to SSL certificate file


A path to the configuration file (by default,


A database file to use if persistent mode is enabled (by default, db=flower)


Enable the debug mode (by default, debug=False)


Periodically enable Celery events by using enable_events command (by default, enable_event=True)


Modifies the default task formatting. format_task function should be defined in the configuration file. It accepts a task object and returns the modified version.

format_task is useful for filtering out sensitive information.

The example below shows how to filter arguments and limit display lengths:

from flower.utils.template import humanize

def format_task(task):
    task.args = humanize(task.args, length=10)
    task.result = humanize(task.result, length=20)
    return task


Sets worker inspect timeout (by default, inspect_timeout=1000 in milliseconds)


A path to SSL key file


Maximum number of workers to keep in memory (by default, max_workers=5000)


Maximum number of tasks to keep in memory (by default, max_tasks=10000)


Show time relative to the refresh time (by default, natural_time=True)


Enable persistent mode. If the persistent mode is enabled Flower saves the current state and reloads on restart (by default, persistent=False)


Run the http server on a given port (by default, port=5555)


Sets the interval for saving state. state_save_interval=0 means that periodic saving is disabled (by default, state_save_interval=0 in milliseconds)


Enable support of X-Real-Ip and X-Scheme headers (by default, xheaders=False)


Specifies list of comma-delimited columns on /tasks/ page. all value enables all columns. Columns on the page can be reordered using drag and drop.

(by default, tasks_columns=”name,uuid,state,args,kwargs,result,received,started,runtime,worker”)

Available columns are:

  • name
  • uuid
  • state
  • args
  • kwargs
  • result
  • received
  • started
  • runtime
  • worker
  • retries
  • revoked
  • exception
  • expires
  • eta


Enables deploying Flower on non-root URL

For example to access Flower on run it with:

$ celery flower --url_prefix=flower

NOTE: The old nginx rewrite is no longer needed


Run flower using UNIX socket file


Sets authentication provider

  • Google flower.views.auth.GoogleAuth2LoginHandler
  • GitHub flower.views.auth.GithubLoginHandler
  • GitLab flower.views.auth.GitLabLoginHandler

See Authentication for usage examples


Time (in seconds) after which offline workers are automatically removed from dashboard.

If omitted, offline workers remain on the dashboard.