Commit Graph

66 Commits

Author SHA1 Message Date
Arnav Choudhury
4a52845a26 Replaced copying python package directories with wheel files which are then used to install all requirements. This way the generated images would be a lot more stable as well. Size increases by 2-3mb though 2020-09-16 15:24:16 +05:30
Arnav Choudhury
079db28661 Changed when Requirements are copied and installed to improve incremental image build times. The extra image layer is inconsequential since python-build-stage layers are discarded anyway. 2020-09-14 01:41:33 +05:30
Arnav Choudhury
17e577c924 Fixed Typo with python build stage name that was references incorrectly in the run stage 2020-09-12 11:11:19 +05:30
Arnav Choudhury
a795086b10 Removing using python wheels to build python dependecies due to issue resolving conflicts in package sub-dependencies. Ends up being much more trouble than it's worth. 2020-09-12 11:04:08 +05:30
Arnav Choudhury
070d4556f9 Multi stage Python build for Django 2020-09-11 22:04:44 +05:30
Arnav Choudhury
53ffbbcf2e Multi stage Python build for Django 2020-09-11 22:00:50 +05:30
Arnav Choudhury
e1922807aa Updating Traefik version from 2.0 to 2.2.11 2020-09-11 21:47:00 +05:30
Arnav Choudhury
536e86ecad
Traeffik and Django dockerfile changes (#2801) 2020-09-08 09:04:10 +01:00
Sudarshan Wadkar
9cf47898f4
Only consider TLDs while adding www route
Instead of checking for `.co.XX` on best effort basis, we only check for
the single dot in the domain_name indicating no subdomain usage.
2020-04-24 19:43:38 +05:30
Sudarshan Wadkar
4021286be0
Add condition to include .co.XX TLDs
This is best effort checking of domain names and creating the traefik
rules. These two checks should cover most of the use cases.
2020-04-24 19:43:38 +05:30
Sudarshan Wadkar
cafc0ac1f3
Conditionally add www host to traefik router
If the domain_name entered contains subdomains, e.g. `api.example.com`
then do *not* add an additional `www.api.example.com` route to traefik

If the user enters only the domain `example.com` then add the optional
`www.example.com` Host to the traefik routers.
2020-04-24 19:43:37 +05:30
Bruno Alla
ca27ddd14d
Merge pull request #2524 from sorasful/master 2020-04-17 12:58:02 +01:00
Bruno Alla
c4e4bea31b Merge branch 'master' into async 2020-04-16 09:43:38 +01:00
Tevak
0df3087d3d Traefik - Also redirect wwww. to service. 2020-04-04 17:26:24 +02:00
Ernesto Cedeno
0cdf60ceac Change Python version to 3.8 2020-03-29 19:55:27 +02:00
Andrew-Chen-Wang
367225e4e8 Removed the 4 workers from the production start of uvicorn 2020-03-24 21:46:40 -04:00
Andrew-Chen-Wang
125ffec243 Changed starting commands for running server
* Performance is very low
2020-03-24 20:51:43 -04:00
Andrew-Chen-Wang
aee2de347b Add uvicorn and web sockets for Django 3
* Add use_async option to cookiecutter.json
* Add websocket configuration
2020-03-24 15:40:14 -04:00
James Williams
d3db7a867f
fix compresss offline never runs using environ 2020-02-28 17:04:15 +00:00
James Williams
89f85f1255
- configure compressor when not using s3
- update django start script to compress if using whitenoise and compress enabled

- add to contributors.rst
2020-02-28 15:59:14 +00:00
Demetris Stavrou
1a7bcccd94 Added celery cookiecutter condition in Traefik configuration 2020-02-18 11:01:56 +02:00
Demetris Stavrou
86c9b3cb28 Flower now served by Traefik 2020-02-04 15:04:47 +02:00
Bruno Alla
a0ad9b82b4
Replaced Docker python:3.7-alpine image with python:3.7-slim-bu… (#2391)
Replaced Docker python:3.7-alpine image with python:3.7-slim-buster
2020-01-11 16:46:09 +00:00
Bruno Alla
5d0b0a7fe3
Upgrade to Traefik v2 (#2338)
Upgrade to Traefik v2
2020-01-11 14:18:30 +00:00
Trung Dong Huynh
4a71b0b936 Using the python:3.7-slim-buster image for later Python version - 3.7.6
(instead of debian:buster-slim, shipped with Python 3.7.3)
2020-01-07 13:54:15 +00:00
Trung Dong Huynh
b22045bcd4 Replaced base Docker image with debian:buster-slim (#2373)
Using system Python 3 distribution (3.7.3) in order to allow the use of Debian packages for numpy, scipy, etc. without the need of building them or installing build dependencies.

Changed `#!/bin/sh` in shell scripts to `#!/bin/bash` to make `set -o pipefail` work.
2020-01-07 11:06:31 +00:00
Yuchen Xie
a88b6b04b6 Speed up django image build process, and reduce its size 2019-12-09 09:55:37 +08:00
Denis Savran
c76b3066d6 Upgrade to Traefik v2 2019-11-29 21:35:40 +03:00
Bruno Alla
5e196b45e9
Pin Traefik Docker image to v1
Until we do the required changes to update to v2.

Fixes #2258
2019-10-10 11:36:48 +01:00
Nicolas Stefani
7d0f8606ed Update python image to 3.7 2019-09-29 09:41:13 -03:00
Tim Claessens
9b48f922ed Remove all end-of-line carriage returns and not just the first occurrence 2019-06-19 09:46:10 +02:00
Matt Knapper
98012829f3 storageFile is deprecated, use storage instead 2019-05-18 10:10:45 -04:00
Bruno Alla
b039e24130
Refactor Celery integration according to current best practices (#2016)
Refactor Celery integration according to current best practices
2019-05-17 21:38:00 +01:00
Bruno Alla
895298c28f Refactor Celery integration according to current best practices
- Change celery app to not be a Django app, more like a WSGI app
- Define a Celery task in the Django users app
- Write a test to execute the task
- Update scripts to use the new app to start workers
- Update documentation

Fix #865
2019-04-02 15:40:32 +01:00
Jelmert
8851ac13ef Added the awscli container for uploading and downloading backups from and to Amazon S3 2019-04-02 15:36:44 +02:00
Bruno Alla
b91c70d755
Add a node image to run Gulp when selecting it with Docker (#1687)
## Description

Following up on @webyneter attempt in #1205, which is now getting outdated, I've tried to make Gulp task runner work with Docker. There is no documentation yet, but this seems to work locally with the custom bootstrap compilation...

- [x] Add a node image for local developement
- [x] Proxy the django image rather than localhost in Browser sync, pass header to keep hostname
- [x] Don't call the runserver command from Gulp, let docker-compose handle
- [x] Update package.json & gulpfile.js templates to reduce the number of unwanted empty lines
- [x] Use [multi-stage build](https://docs.docker.com/develop/develop-images/multistage-build/) in production to make sure the static assets are produced
- [x] Update documentation
- [x] Verify that the previous issue with static assets missing from production isn't there 

## Rationale

Currently, the static build isn't working nicely with Docker, extra manual setup is required.

Fixes #1762
2019-03-25 12:10:55 +00:00
Demetris
b312d516a4 Replace Caddy with Traefik (#1714)
## Description

Replace Caddy with Traefik

## Rationale

There is some trouble with the Caddy license (https://github.com/pydanny/cookiecutter-django/pull/1282#issuecomment-329617536) 

@drdaeman suggested using Traefik (https://github.com/pydanny/cookiecutter-django/pull/1282#issuecomment-353655273) which supports ACME and also plays very nice with Docker.

## Comments

I am currently using the proposed setup on a live site and it working great so far. If this PR is of interest to the maintainers, then I could commit more changes and take care of the documentation. Of course, any suggestions by the more experienced people around here, are welcome!
2019-03-19 09:32:45 +00:00
Bruno Alla
ae27ef3fae Merge branch 'master' into conditional-redis-merge 2019-03-11 20:53:36 +00:00
HP Bruna
03e5670c25
CSRF in header
CSRF header is needed for a POST request in the Django REST framework.
2018-11-07 21:54:52 +01:00
Chris Pappalardo
ea53635a0a fixed production bugs in caddyfile and middleware 2018-09-15 12:45:10 -07:00
Demetris Stavrou
2c56b2e0e3 Added CELERY_BROKER_URL back to entrypoint and surrounded it with a conditional 2018-06-28 00:30:23 +03:00
Demetris Stavrou
7c69704f9f Moved CELERY_BROKER_URL definition to .django env file to resolve error when Celery is not used (PR #1693) 2018-06-28 00:30:23 +03:00
Nikita Shupeyko
275c13292c
Integrate Flower with Docker Compose setup (#1655)
* Integrate Flower with Docker Compose setup locally

* Remove alien worker celeryd option

* Move Flower COPY section below the worker's

* Remove set -o pipefail command from Flower start script

* Flower client authentication

* Override flower service image name

* Move flower service to the end of local.yml

* Install flower==0.9.2 in all environments

* Introduce production flower service

* Fix local flower start script

* Document Flower integration

* Prettify *.django envs

Rationale: consistency.

* Reference local environment Flower docs from the production's

* 'two more services' -> 'three more services'
2018-06-27 19:33:21 +03:00
Nikita P. Shupeyko
77f61de236 chown django /start-(celerybeat|celeryworker) in production Django 2018-05-25 12:55:27 +03:00
Michel Sassano
c3b9f72f31 Remove openssl to fix unsatisfiable constraints error with libressl (#1661)
Removed the openssl-dev package from the Django Dockerfiles (local and production) to fix the unsatisfiable constraints error.

The error appears because you can't have openssl and libressl installed at the same time. One of the package used by the template/project installs libressl which create an error when trying to install openssl.

Thx to @browniebroke
2018-05-25 14:21:22 +08:00
Nikita P. Shupeyko
39c825a262 Fix latest Caddy version 2018-05-21 22:36:50 +03:00
Nikita P. Shupeyko
6cefe2b9dc Rename gunicorn script to start 2018-05-21 22:28:18 +03:00
Nikita P. Shupeyko
849f64e1a5 Remove .sh ext from executable scripts 2018-05-21 15:20:11 +03:00
Nikita P. Shupeyko
90953a83f2 Alter django entrypoint.sh output 2018-05-21 15:03:37 +03:00
Nikita P. Shupeyko
9b938647b4 Refactor exec "$@" in django entrypoint.sh 2018-05-21 14:59:26 +03:00