* Add option to serve media files locally using nginx
* Fix nginx media location and storage issue
* Fix traefik django-media typo
* Add certresolver property to web-media-router
* Add trailing slash in nginx configuration to avoid path traversal exploits
* Remove autoindexing from nginx configuration so nginx uses its default off setting
* Use nginx to serve media files if cloud provider is None
* Add back warning about lack of media files without Docker or Cloud providers
* Update documentation
* Fix typos and rephrase
Co-authored-by: Arkadiusz Ryś <arkadiusz.michal.rys@gmail.com>
* Change Traefik media router rule generation to force priority
The web-secure-router could end up having priority over the web-media-router when the www subdomain was used.
This fix adds the www subdomain to the web-media-router if it's also present in the web-secure-router rule.
Traefik looks at the length of rules to determine priority when no explicit priority is set.
The web-media-router needs to always have priority over the web-secure-router in order for the media files to be served.
* Add space to Traefik rule
---------
Co-authored-by: Bruno Alla <alla.brunoo@gmail.com>
Co-authored-by: Bruno Alla <browniebroke@users.noreply.github.com>
* Pin base Python Docker images to bugfix
Fix#1810
* Skip major & minor versions of Docker images in Dependabot
* Remove argument for docs Docker image
* Update Dependabot config of generated project
* Add option to serve media files locally using nginx
* Fix nginx media location and storage issue
* Fix traefik django-media typo
* Add certresolver property to web-media-router
* Add trailing slash in nginx configuration to avoid path traversal exploits
* Remove autoindexing from nginx configuration so nginx uses its default off setting
* Use nginx to serve media files if cloud provider is None
* Add back warning about lack of media files without Docker or Cloud providers
* Update documentation
* Fix typos and rephrase
Co-authored-by: Arkadiusz Ryś <arkadiusz.michal.rys@gmail.com>
---------
Co-authored-by: Bruno Alla <alla.brunoo@gmail.com>
Co-authored-by: Bruno Alla <browniebroke@users.noreply.github.com>
* Add support for Webpack as frontend pipeline
* Rename CI jobs
* Fix a couple of issues with Webpack + Docker
* Don't include Boostrap CSS from CDN with Webpack
* Rename variable
* Set publicPath in prod webpack config
* Fix removal of SASS files in post-gen hooks
* Add Webpack to readme usage section
* Run Django + Webpack dev server concurrently without Docker
* Fix async runserver command with Gulp/Webpack
* Upgrade django-webpack-loader to 1.5.0
* Pass variables required by Webpack at build time
* Upgrade django-webpack-loader to 1.7.0
* Add missing condition
* Add support for Azure Storage + Webpack
* Whitespaces
* Rename ROOT_DIR -> BASE_DIR
* Rename jobs
* Bump django-webpack-loader to latest
* Document limitation of Docker + Webpack + no Whitenoise
* Update section on custom Bootstrap compilation in generated readme
They are now the default and cause a warning:
WARNING: --use-feature=2020-resolver no longer has any effect, since it is now the default dependency resolver in pip. This will become an error in pip 21.0.
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.
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.
- 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
## 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
## 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!
* 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'
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
* Export PG* envs when backing up postgres
* Export PG* envs when restoring postgres from backup
* Prevent postgres connection from dropping all at ones
* Alter postgres backups docs
Include another crucial prerequisite.
* "feel free switching" -> "feel free to switch"
* Address the feedback
* Move to the python:alpine docker image
- Switch the base images for local and production to alpine
- Install extra dependencies for psycopg2, Pillow and cffi
- Change shebang for shell scripts to use sh instead of bash
* Move to the python:alpine docker image
- Migrate group and user creation to Alpine syntax
* Move to the python:alpine docker image
- Remove `function` keyword, unsupported in shell
* Upgrade various places to the latest Python 3.6
* Test support for translations
* Add gettext library, required for translations support
* Add locale folder for translations support with README documenting it
* Update Changelog
* Tweak command to test translations support
* Re-organize compose/ into environment-specific file groups
Closes#1316.
* Commit missing files
That was weird: git failed to commit one specific folder previously