Question

I've been using flower locally and it seems easy enough to setup and run, but I can't see how I would set it up in a production environment.

In particular, how can I add authentication and how would I define a url to access it?

Was it helpful?

Solution

For custom address, use the --address flag. For auth, use the --basic_auth flag.

See below:

# celery flower --help
Usage: /usr/local/bin/celery [OPTIONS]

Options:

  --address                        run on the given address
  --auth                           regexp  of emails to grant access
  --basic_auth                     colon separated user-password to enable
                                   basic auth
  --broker_api                     inspect broker e.g.
                                   http://guest:guest@localhost:15672/api/
  --certfile                       path to SSL certificate file
  --db                             flower database file (default flower.db)
  --debug                          run in debug mode (default False)
  --help                           show this help information
  --inspect                        inspect workers (default True)
  --inspect_timeout                inspect timeout (in milliseconds) (default
                                   1000)
  --keyfile                        path to SSL key file
  --max_tasks                      maximum number of tasks to keep in memory
                                   (default 10000) (default 10000)
  --persistent                     enable persistent mode (default False)
  --port                           run on the given port (default 5555)
  --url_prefix                     base url prefix
  --xheaders                       enable support for the 'X-Real-Ip' and
                                   'X-Scheme' headers. (default False)

OTHER TIPS

You an use https://pypi.org/project/django-revproxy/

This way Flower is hidden behind Django auth which, and you don't need rewrite rule in your webserver.

Orignal source of this answer: Celery Flower Security in Production

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top