From 4810d57da913755d4a07d17054f8b9294a77082f Mon Sep 17 00:00:00 2001 From: "Nikita P. Shupeyko" Date: Mon, 21 May 2018 22:06:44 +0300 Subject: [PATCH] Integrate Flower with Docker Compose setup locally --- README.rst | 3 ++- .../compose/local/django/Dockerfile | 4 ++++ .../compose/local/django/celery/flower/start | 9 +++++++++ {{cookiecutter.project_slug}}/local.yml | 6 ++++++ {{cookiecutter.project_slug}}/requirements/local.txt | 3 +++ 5 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 {{cookiecutter.project_slug}}/compose/local/django/celery/flower/start diff --git a/README.rst b/README.rst index 9c1640712..fd8814eca 100644 --- a/README.rst +++ b/README.rst @@ -65,7 +65,7 @@ Optional Integrations *These features can be enabled during initial project setup.* * Serve static files from Amazon S3 or Whitenoise_ -* Configuration for Celery_ +* Configuration for Celery_ and Flower_ (the latter in Docker setup only) * Integration with MailHog_ for local email testing * Integration with Sentry_ for error logging @@ -78,6 +78,7 @@ Optional Integrations .. _Mailgun: http://www.mailgun.com/ .. _Whitenoise: https://whitenoise.readthedocs.io/ .. _Celery: http://www.celeryproject.org/ +.. _Flower: https://github.com/mher/flower .. _Anymail: https://github.com/anymail/django-anymail .. _MailHog: https://github.com/mailhog/MailHog .. _Sentry: https://sentry.io/welcome/ diff --git a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile index df9561f71..b56710b14 100644 --- a/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile +++ b/{{cookiecutter.project_slug}}/compose/local/django/Dockerfile @@ -27,6 +27,10 @@ COPY ./compose/local/django/start /start RUN sed -i 's/\r//' /start RUN chmod +x /start {% if cookiecutter.use_celery == "y" %} +COPY ./compose/local/django/celery/flower/start /start-flower +RUN sed -i 's/\r//' /start-flower +RUN chmod +x /start-flower + COPY ./compose/local/django/celery/worker/start /start-celeryworker RUN sed -i 's/\r//' /start-celeryworker RUN chmod +x /start-celeryworker diff --git a/{{cookiecutter.project_slug}}/compose/local/django/celery/flower/start b/{{cookiecutter.project_slug}}/compose/local/django/celery/flower/start new file mode 100644 index 000000000..ee6397ffd --- /dev/null +++ b/{{cookiecutter.project_slug}}/compose/local/django/celery/flower/start @@ -0,0 +1,9 @@ +#!/bin/sh + +set -o errexit +set -o pipefail +set -o nounset +set -o xtrace + + +celery flower -A {{cookiecutter.project_slug}}.taskapp worker --broker="${CELERY_BROKER_URL}" diff --git a/{{cookiecutter.project_slug}}/local.yml b/{{cookiecutter.project_slug}}/local.yml index c725fff79..80ecbdf26 100644 --- a/{{cookiecutter.project_slug}}/local.yml +++ b/{{cookiecutter.project_slug}}/local.yml @@ -44,6 +44,12 @@ services: {%- endif %} {%- if cookiecutter.use_celery == 'y' %} + flower: + <<: *django + ports: + - "5555:5555" + command: /start-flower + redis: image: redis:3.2 diff --git a/{{cookiecutter.project_slug}}/requirements/local.txt b/{{cookiecutter.project_slug}}/requirements/local.txt index 958dba1bd..7740f9897 100644 --- a/{{cookiecutter.project_slug}}/requirements/local.txt +++ b/{{cookiecutter.project_slug}}/requirements/local.txt @@ -8,6 +8,9 @@ psycopg2==2.7.4 --no-binary psycopg2 # https://github.com/psycopg/psycopg2 {%- else %} psycopg2-binary==2.7.4 # https://github.com/psycopg/psycopg2 {%- endif %} +{%- if cookiecutter.use_docker == 'y' and cookiecutter.use_celery == 'y' %} +flower==0.9.2 # https://github.com/mher/flower +{%- endif %} # Testing # ------------------------------------------------------------------------------