From 86c9b3cb282a4e0fc9a47b2ffa991fbc72486b20 Mon Sep 17 00:00:00 2001 From: Demetris Stavrou <1180929+demestav@users.noreply.github.com> Date: Tue, 4 Feb 2020 15:04:47 +0200 Subject: [PATCH 1/5] Flower now served by Traefik --- .../compose/production/traefik/traefik.yml | 19 ++++++++++++++++++- {{cookiecutter.project_slug}}/production.yml | 2 -- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml b/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml index 324c62af..bb3be150 100644 --- a/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml +++ b/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml @@ -10,6 +10,9 @@ entryPoints: # https address: ":443" + flower: + address: ":5555" + certificatesResolvers: letsencrypt: # https://docs.traefik.io/master/https/acme/#lets-encrypt @@ -42,6 +45,15 @@ http: # https://docs.traefik.io/master/routing/routers/#certresolver certResolver: letsencrypt + flower-secure-router: + rule: "Host(`{{ cookiecutter.domain_name }}`)" + entryPoints: + - flower + service: flower + tls: + # https://docs.traefik.io/master/routing/routers/#certresolver + certResolver: letsencrypt + middlewares: redirect: # https://docs.traefik.io/master/middlewares/redirectscheme/ @@ -52,7 +64,7 @@ http: # https://docs.traefik.io/master/middlewares/headers/#hostsproxyheaders # https://docs.djangoproject.com/en/dev/ref/csrf/#ajax headers: - hostsProxyHeaders: ['X-CSRFToken'] + hostsProxyHeaders: ["X-CSRFToken"] services: django: @@ -60,6 +72,11 @@ http: servers: - url: http://django:5000 + flower: + loadBalancer: + servers: + - url: http://flower:5555 + providers: # https://docs.traefik.io/master/providers/file/ file: diff --git a/{{cookiecutter.project_slug}}/production.yml b/{{cookiecutter.project_slug}}/production.yml index 62ec9d82..125d4876 100644 --- a/{{cookiecutter.project_slug}}/production.yml +++ b/{{cookiecutter.project_slug}}/production.yml @@ -60,8 +60,6 @@ services: flower: <<: *django image: {{ cookiecutter.project_slug }}_production_flower - ports: - - "5555:5555" command: /start-flower {%- endif %} From 25a70c5b846f7e17ff416385decbc0bd16251797 Mon Sep 17 00:00:00 2001 From: Demetris Stavrou <1180929+demestav@users.noreply.github.com> Date: Tue, 4 Feb 2020 22:47:56 +0200 Subject: [PATCH 2/5] Added Flower access documentation for production. --- docs/deployment-with-docker.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/deployment-with-docker.rst b/docs/deployment-with-docker.rst index 0df50ff4..8a206885 100644 --- a/docs/deployment-with-docker.rst +++ b/docs/deployment-with-docker.rst @@ -25,7 +25,9 @@ Provided you have opted for Celery (via setting ``use_celery`` to ``y``) there a * ``celeryworker`` running a Celery worker process; * ``celerybeat`` running a Celery beat process; -* ``flower`` running Flower_ (for more info, check out :ref:`CeleryFlower` instructions for local environment). +* ``flower`` running Flower_. + +The ``flower`` service is served by Traefik over HTTPS, through the port ``5555``. For more information about Flower and its login credentials, check out :ref:`CeleryFlower` instructions for local environment. .. _`Flower`: https://github.com/mher/flower From 1a7bcccd945bc7c79b5c395a2682b818a5725bce Mon Sep 17 00:00:00 2001 From: Demetris Stavrou <1180929+demestav@users.noreply.github.com> Date: Tue, 18 Feb 2020 11:01:56 +0200 Subject: [PATCH 3/5] Added celery cookiecutter condition in Traefik configuration --- .../compose/production/traefik/traefik.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml b/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml index bb3be150..923774f4 100644 --- a/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml +++ b/{{cookiecutter.project_slug}}/compose/production/traefik/traefik.yml @@ -9,9 +9,11 @@ entryPoints: web-secure: # https address: ":443" + {%- if cookiecutter.use_celery == 'y' %} flower: address: ":5555" + {%- endif %} certificatesResolvers: letsencrypt: @@ -44,6 +46,7 @@ http: tls: # https://docs.traefik.io/master/routing/routers/#certresolver certResolver: letsencrypt + {%- if cookiecutter.use_celery == 'y' %} flower-secure-router: rule: "Host(`{{ cookiecutter.domain_name }}`)" @@ -53,6 +56,7 @@ http: tls: # https://docs.traefik.io/master/routing/routers/#certresolver certResolver: letsencrypt + {%- endif %} middlewares: redirect: @@ -71,11 +75,13 @@ http: loadBalancer: servers: - url: http://django:5000 + {%- if cookiecutter.use_celery == 'y' %} flower: loadBalancer: servers: - url: http://flower:5555 + {%- endif %} providers: # https://docs.traefik.io/master/providers/file/ From f6a63a5f0c69bc074655304098478b3fa9aae2c7 Mon Sep 17 00:00:00 2001 From: Demetris Stavrou <1180929+demestav@users.noreply.github.com> Date: Fri, 21 Feb 2020 10:08:10 +0200 Subject: [PATCH 4/5] Added 5555 port mapping to traefik service --- {{cookiecutter.project_slug}}/production.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/{{cookiecutter.project_slug}}/production.yml b/{{cookiecutter.project_slug}}/production.yml index 125d4876..45e1c447 100644 --- a/{{cookiecutter.project_slug}}/production.yml +++ b/{{cookiecutter.project_slug}}/production.yml @@ -42,6 +42,7 @@ services: ports: - "0.0.0.0:80:80" - "0.0.0.0:443:443" + - "0.0.0.0:5555:5555" redis: image: redis:5.0 From e3d7ea0e108a76827e96002e05eb8726768eaa7a Mon Sep 17 00:00:00 2001 From: Demetris Stavrou <1180929+demestav@users.noreply.github.com> Date: Sat, 22 Feb 2020 21:29:40 +0200 Subject: [PATCH 5/5] Added condition for Flower port mapping --- {{cookiecutter.project_slug}}/production.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/{{cookiecutter.project_slug}}/production.yml b/{{cookiecutter.project_slug}}/production.yml index 45e1c447..2cd2af13 100644 --- a/{{cookiecutter.project_slug}}/production.yml +++ b/{{cookiecutter.project_slug}}/production.yml @@ -42,7 +42,9 @@ services: ports: - "0.0.0.0:80:80" - "0.0.0.0:443:443" + {%- if cookiecutter.use_celery == 'y' %} - "0.0.0.0:5555:5555" + {%- endif %} redis: image: redis:5.0