Commit Graph

83 Commits

Author SHA1 Message Date
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
Nikita Shupeyko
820e3540da
Upgrade Caddy to 0.11 and pin its version to minor rather than patch (#1653) 2018-05-21 12:44:38 +03:00
Nikita P. Shupeyko
091a3b6d0f gunicorn --bind instead of gunicorn -b 2018-05-14 10:20:27 +03:00
Nikita P. Shupeyko
17739ff263 Refactor POSTGRES_PORT env 2018-05-09 12:58:37 +03:00
Nikita P. Shupeyko
906299ae39 Refactor POSTGRES_HOST env 2018-05-09 12:58:33 +03:00
Nikita Shupeyko
b4d0416530
Fix PostgreSQL backup restore (#1628)
* 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
2018-05-05 12:27:27 +03:00
Nikita P. Shupeyko
26ccf9307f Fix REDIS_URL missing
Fixes #1570.
2018-04-04 13:42:01 +03:00
Nikita P. Shupeyko
2fa5adc2b0 Designate 'postgres' as a variable in entrypoint.sh
Rationale: clarity.
2018-04-04 11:43:39 +03:00
Nikita Shupeyko
59cd5b4849
Celery code blocks are still generated even though Celery is not opted out for (#1587)
* Celery jinja condition in .gitignore

* Celery jinja conditions in Django Dockerfiles

* Re-phrase Django Dockerfile requirements comments

* Remove celery compose dirs through post_gen_project.py
2018-03-27 18:40:44 +03:00
Nikita Shupeyko
bcd0a8c46e
Fix & improve PostgreSQL backup/restore scripts (#1571)
* Fix & imporve postgres backup/restore scripts

* Update PostgreSQL backup/restore docs

* Fix postgres Dockerfile regression

* Extend error messages in PostgreSQL maintenance scipts
2018-03-14 13:44:16 +03:00
Nikita P. Shupeyko
03ee6c78d6 Fix CELERY_BROKER_URL overriden in entrypoint.sh
Closes #1235.
2018-03-08 19:04:10 +03:00
Nikita P. Shupeyko
5543359382 Distinguish between POSTGRES_DB and POSTGRES_USER
Closes #1301.
2018-03-08 19:04:10 +03:00
Nikita P. Shupeyko
5261956356 Refactor gunicorn -w to be set from WEB_CONCURRENCY env
Closes #1480.
2018-03-05 14:26:43 +03:00
Bruno Alla
0164c330b3 Move to the python:alpine docker image (#1482)
* 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
2018-02-22 10:01:05 -05:00
Reggie Riser
f7bd7a5814 Fixing leftovers from migration to Django 1.11 and Python 3.6. 2018-01-03 08:44:54 -05:00
Nikita P. Shupeyko
e5154f3f01 Prettify production postgres service Dockerfile entries
- group related commands together
- use COPY instead of ADD
2017-09-06 15:05:41 +03:00
Shupeyko Nikita
188ff966f8 Re-organize compose/ into environment-specific file groups (#1317)
* Re-organize compose/ into environment-specific file groups

Closes #1316.

* Commit missing files

That was weird: git failed to commit one specific folder previously
2017-09-05 14:39:20 +03:00