Commit Graph

124 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
Bruno Alla
becd2dce13 Reword & clarify Python 2 warning in pre gen hook
Fixes #1942
2019-03-27 21:27:52 +00: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
Bruno Alla
68f7268770
Run Black on Travis (#1957)
* Create a test matrix on Travis CI to help testing multiple options

* Change test_docker.sh to fail if any command in it fails

* Run black on the CI with --check option

* Fix formatting of project files using black

* Install black in the docker container

* Exclude migrations in black checks

* Fix Black formatting violations

* Run black on the whole generated project & fix issues
2019-03-18 17:49:43 +00:00
Cole Mackenzie
5a4a3217f1 prevent removal if using travisci 2018-10-16 13:22:04 -06:00
Cole Mackenzie
9e8e09119d
Remove requirements.txt file from delete list.
fixes #1829
2018-10-10 21:35:17 -06:00
Bruno Alla
11bb4cdb84 Avoid '$' in random string generation
Until the [upstream bug](https://github.com/joke2k/django-environ/issues/60) is fixed in django-environ, this should prevent people using this template from hitting the bug.

Fix #454
2018-09-18 10:27:58 +01:00
Nikita P. Shupeyko
ed7609f715 Remove utility/ when use_docker=y 2018-06-28 16:43:34 +03:00
Nikita P. Shupeyko
c5c6bace99 Remove LICENSE for non open source projects 2018-06-28 16:39:51 +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
saschalalala
6d4be405d8 Migrate to Django2 path urls (#1637)
* Change users urls to Django 2 paths

* Change config urls to Django 2 paths

* Change admin url setting to Django 2 path syntax

* Replace more admin urls

* Add myself to contributors.rst
2018-05-14 10:09:24 +03:00
Nikita P. Shupeyko
be1024cd06 Drop Grunt support
Closes #1636.
2018-05-13 13:51:01 +03:00
Nikita P. Shupeyko
1732659678 Set POSTGRES_USER and POSTGRES_PASSWORD to the debug value when opting for debug 2018-05-05 13:47:58 +03:00
Nikita P. Shupeyko
d8267edd09 Run black reformatting
https://github.com/ambv/black
2018-05-05 12:37:10 +03:00
Daniel Roy Greenfeld
3f753e0411
First pass at running black across the project (#1602) 2018-04-08 17:03:29 -05:00
Nikita P. Shupeyko
34673ff686 Merge .celery envs file with .django
Rationale: workflow simplification.
2018-04-04 10:52:16 +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 P. Shupeyko
57761e77b3 Fix .envs in template's .gitignore
Fix #1565.
2018-03-09 17:36:11 +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 Shupeyko
3f8aa26d0f
Group environment variables by the corresponding directories (#1295)
* Update generated project's .gitignore

* Post-gen gitignore .env/ and .env

* Fix linesep between gitignored entries

* Persist `.env/**/*` files into cookiecutter-django's VCS

* Rename .env/ to .envs/

* Reference the newly created .envs/**/.* files in local.yml

* Reference the newly created .envs/**/.* files in production.yml

* Delete .env.example

* Refactor post-gen-project.py

Closes #1299.

* Implement production-dotenv-files-to-dotenv-file merge script

* Create shared PyCharm Run Configuration for the automation script

* Randomize POSTGRES_PASSWORD in ./envs/(.local|.production)/.postgres

* Default POSTGRES_PASSWORD and POSTGRES_USER to random values

* Fix jinja linebreaks in local.yml

* Spaces in production.yml

* Fix post-merge leftovers & set DJANGO_ADMIN_URL automatically

* Prettify here and there

* Fix FileNotFoundError

* Leave a TODO in post_gen_hook.py

* Introduce keep_local_envs_in_vcs option

* Remove envs when not opted for

* Inline pre_gen_project.py if-condition

* Get rid of PROJECT_DIR_PATH in post_gen_project.py

* Clean up the docs

* Match copyright notices

* Document envs ins and outs
2018-03-08 15:56:15 +03:00
Nikita P. Shupeyko
0a69f19452 Opt for .travis.yml
Closes #1542.
2018-03-04 15:11:54 +03:00
Nikita P. Shupeyko
afd3191038 Get rid of remove_file() from post hook 2018-03-04 15:07:49 +03:00
Nikita P. Shupeyko
438ec0c101 Remove .env when neither Docker nor Heroku are opted out for 2018-03-04 14:44:37 +03:00
Nikita P. Shupeyko
281dde1d1d Simplify post hook 2018-03-04 14:43:54 +03:00
Nikita P. Shupeyko
69ff5515c9 Fix GPLv3 files not being removed 2018-03-01 22:43:19 +03:00
Daniel Roy Greenfeld
f4cadeec97 Disallow backslashes in author name 2018-02-21 18:54:03 -05:00
Nikita Shupeyko
86e33e8714
Refactor *_gen_project hooks (#1490)
* Fix ./hooks/pre_gen_project.py asking user to select an option once only

+ prettify output

* Fix pre_gen hook not really exiting when it should

* Refactor & prettify ./hooks/post_gen_project.py

* Ensure same POSTGRES_USER is set across environments

+ get rid of env.example in favor of pre-generated .env.
2018-02-07 22:52:52 +03:00
Bruno Alla
090c81731b
Merge pull request #1418 from reggieriser/django_python_upgrade_cleanups
Fixing leftovers from migration to Django 1.11 and Python 3.6.
2018-02-07 14:52:27 +00:00
Reggie Riser
cc888d89a8 Fixed old docker-compose filenames (#1457) 2018-01-17 10:13:09 -08:00
Daniel Roy Greenfeld
e69ceebfc5 Possible fix for 2018-01-16 22:06:28 -08:00
Audrey Roy Greenfeld
1cb9605511 Remove old lets_encrypt stuff that was breaking tests 2018-01-15 14:05:27 -08:00
Daniel Roy Greenfeld
793a46ba45 Removed expiramental elastic beanstalk support and bumped official Django version to 1.11.9 2018-01-15 12:33:51 -08:00
Reggie Riser
f7bd7a5814 Fixing leftovers from migration to Django 1.11 and Python 3.6. 2018-01-03 08:44:54 -05:00
Jannis Gebauer
8801c50867 switch to caddy (#1282) 2017-08-11 11:16:15 +02:00
Shupeyko Nikita
e889316b11 Rename dev.yml to local.yml (#1227)
* Rename dev.yml to local.yml

Closes #1226.

* Rename docker-compose.yml to production.yml
2017-07-14 17:09:41 +03:00
Shupeyko Nikita
1f7be4eb57 Revert "Node.JS + docker-compose = ♥" (#1206)
* Revert "[Fix] #1173 Nginx SSL redirect loop (#1174)"

This reverts commit cabcc7b106.

* Revert "Fix Getting Up and Running Locally With Docker doc sphinx warnings (#1165)"

This reverts commit 83c8594203.

* Revert "Fix index.rst sphinx warnings (#1166)"

This reverts commit 51dd0b5e73.

* Revert "Pin mailhog Docker image to v1.0.0 (#1201)"

This reverts commit d9f870461b.

* Revert "Node.JS + docker-compose = ♥ (#1128)"

This reverts commit 4b06fe3958.
2017-06-21 23:12:22 +03:00
Shupeyko Nikita
4b06fe3958 Node.JS + docker-compose = ♥ (#1128)
* Introduce static asset build infrastructure

* Enhance gulpfile.js

* Introduce node service

* BrowserSync debug-only support

* Remove newline before  BrowserSync debug-only support section

* FIx node Dockerfile package.json COPY

* Try fiixing node Dockerfile package.json COPY ones again

* Switch to `node:7-slim`

* Try switching to node:6

To account for possible node:7 docker-compose incompatibiltiy

* Revert "Try switching to node:6"

This reverts commit 62cc02df1a.

* Try switcging workdir to /app

* Try utilizing relative package.json path

* Resetting to the last version working locally with docker-compose 1.11.x

* Build upon the latest node:7.9-slim

* Stop dockerignoring package.json

* Fix typo

* Try a different package.json path

* Revert "Try a different package.json path"

This reverts commit f29f8500b8.

* Revert "Fix typo"

This reverts commit 02033729b5.

* Revert "Stop dockerignoring package.json"

This reverts commit 63c5491546.

* Upgrade docker-engine and docker-compose used by Travis CI

* Fix .travis.yml comments

* Inline docker-engine and docker-compose versions

* DEBUG: pwd

* Revert "DEBUG: pwd "

This reverts commit 6c2ed4321a.

* Try copying package.json to the same dir as node Dockerfile's

* Revert "Try copying package.json to the same dir as node Dockerfile's"

This reverts commit 24340a0783.

* Try out node:7.9

* Revert "Try out node:7.9"

This reverts commit 32286d33c2.

* Revert "Upgrade docker-engine and docker-compose used by Travis CI"

* Get rid of npm-check-updates

Reason: Reserved for the upcoming PR

* Get rid of npm-check

Reason: Reserved for the upcoming PR

* Get rid of 'standard' npm package

Reason: Reserved for the upcoming PR

* Clean up package.json

* Preserve package.json uncoditionally

Since we now have *unconditional* node.js integration, `package.json` must be out there whenever `node` service gets built

* Upgrade node service image to 7.10

* Document Node.js-Docker integration

* Fix gulpfile.js images region name

* Get rid of Gulp migrate task

* Document Gulp-Docker integration

* Introduce static asset build infrastructure

* Enhance gulpfile.js

* Introduce node service

* BrowserSync debug-only support

* Remove newline before  BrowserSync debug-only support section

* FIx node Dockerfile package.json COPY

* Try fiixing node Dockerfile package.json COPY ones again

* Switch to `node:7-slim`

* Try switching to node:6

To account for possible node:7 docker-compose incompatibiltiy

* Revert "Try switching to node:6"

This reverts commit 62cc02df1a.

* Try switcging workdir to /app

* Try utilizing relative package.json path

* Resetting to the last version working locally with docker-compose 1.11.x

* Build upon the latest node:7.9-slim

* Stop dockerignoring package.json

* Revert "Stop dockerignoring package.json"

This reverts commit 63c5491546.

* Fix typo

* Revert "Fix typo"

This reverts commit 02033729b5.

* Try a different package.json path

* Revert "Try a different package.json path"

This reverts commit f29f8500b8.

* Upgrade docker-engine and docker-compose used by Travis CI

* Fix .travis.yml comments

* Inline docker-engine and docker-compose versions

* DEBUG: pwd

* Revert "DEBUG: pwd "

This reverts commit 6c2ed4321a.

* Try copying package.json to the same dir as node Dockerfile's

* Revert "Try copying package.json to the same dir as node Dockerfile's"

This reverts commit 24340a0783.

* Try out node:7.9

* Revert "Try out node:7.9"

This reverts commit 32286d33c2.

* Revert "Upgrade docker-engine and docker-compose used by Travis CI"

* Get rid of npm-check-updates

Reason: Reserved for the upcoming PR

* Get rid of npm-check

Reason: Reserved for the upcoming PR

* Get rid of 'standard' npm package

Reason: Reserved for the upcoming PR

* Clean up package.json

* Preserve package.json uncoditionally

Since we now have *unconditional* node.js integration, `package.json` must be out there whenever `node` service gets built

* Upgrade node service image to 7.10

* Document Node.js-Docker integration

* Fix gulpfile.js images region name

* Get rid of Gulp migrate task

* Document Gulp-Docker integration

* Remove Gulp-Docker integraton not supported initialization message
2017-06-20 22:48:17 +03:00
Shupeyko Nikita
9d69bcc10c Add a pre-hook that checks the python version (#1142)
Closes #1141
2017-04-24 15:43:36 -07:00
Shupeyko Nikita
706c324e6a Remove files conventional to opensource projects only (#1137) 2017-04-24 22:56:27 +02:00
Daniel Roy Greenfeld
6aced9ba73 Remove Python 2.7 support per #1129 (#1130)
* Remove Python 2.7 support per

* Remove Python 2.7 references

* Remove Python 2.7 references

* remove python 2 entirely
2017-04-21 12:31:45 -07:00
Audrey Roy Greenfeld
1e9ca84de7 Removed backslashes from punctuation used in random key 2017-02-13 21:59:21 -08:00
Audrey Roy Greenfeld
67873552b0 Removed single and double quotes from punctuation used in random key 2017-02-13 21:57:59 -08:00
Sebastian Reyes Espinosa
44f67452a9 An small pythonic approach to password (#1036)
* An small pythonic approach to password

Providing a more pythonic line for password generation using for that the string content, as suggested for the documentation in #949.

* Adding missing line

Adding missing import at the head of the file. The previous commit added the string content, but I didn't added the needed import line. This fixes it.
2017-02-13 15:37:14 -08:00
Daniel Roy Greenfeld
04a58d5b21 Removed Heroku instant deploy button 2016-10-07 13:55:15 -07:00
Daniel Roy Greenfeld
010a1b0a94 Made Elastic Beanstalk support incompatible with Docker and Heroku 2016-09-26 09:19:15 -07:00
Daniel Roy Greenfeld
52c0e071da Add Experimental AWS Elastic Beanstalk support (#817)
Includes:

* First pass at Elastic Beanstalk integration
* Gets code and elasticache working
* Very rudimentary documentation
* Includes post hook cleanup
2016-09-22 18:21:00 -07:00
Jannis Gebauer
7d7b044432 Remove webpack and merge (#778) (#785)
* Remove webpack and merge

* Put postgresql_version line back in cookiecutter.json

* Put goldhand back in contributors file, added ssteinerX

* Add *.egginfo to .gitignore

* Fix dangling endif in README.rst
2016-09-12 00:22:21 +02:00
Dan Shultz
814df9bc6c Escape description and author_name in post_gen hook
Fixes #698
2016-07-27 16:34:32 -05:00
Fabio C. Barrioneuvo da Luz
206fcc6d6d use https instead ssh to clone cookiecutter-webpack - fix issue #647 2016-06-25 11:25:05 -03:00
Cédric Gaspoz
730e4fead1
Add GPLv3 licence support 2016-06-24 16:59:55 +02:00
Will Farley
8880e777d2 WIP: Add webpack as an option (#610)
* Add webpack as an option

Adds webpack as a js_taskrunner option to cookiecutter-json. Will clone @hzdg/cookiecutter-webpack --pydanny-django branch into the project using cookiecutter's api in post_hooks.

The static webpack project will be placed into the <project_slug>/static/<project_slug>/ directory.
The webpack configs are placed in the ./config/ directory.

The cookiecutter-webpack project includes react / redux / karma configurations that are brought into the project.

* Add webpack documentation
2016-06-19 12:24:43 -07:00
Daniel Roy Greenfeld
203afd5c19 Fix borked Americanese to be English 2016-06-05 17:21:59 -07:00
Daniel Roy Greenfeld
c56e4ef616 Fix the remove file problem 2016-06-05 14:16:02 -07:00
Daniel Roy Greenfeld
a65a750464 Switch use_certbot to the MUCH more explicit use_letsencrypt 2016-06-05 13:17:19 -07:00
Daniel Roy Greenfeld
94cb04b389 merge @mjsisley #576 2016-06-04 10:21:44 -07:00
Vivian Guillen
cda3cfc641 merge in @@viviangb #585 2016-06-03 17:35:46 -07:00
mjsisley
fd9795992a sync with master 2016-06-03 17:21:24 -07:00
Sulé
fa89445f66 Removing unnecessary version check #534 (#584)
* Address issue #534

* missing comma added

* remove unecesssary version check #534
2016-06-03 16:35:10 -07:00
mjsisley
b8e02d2189 Add certbot(letsencrypt) support for docker 2016-06-03 08:07:39 -07:00
Daniel Roy Greenfeld
7b24c19ce5 Fix #524 2016-05-09 21:12:34 -07:00
Daniel Roy Greenfeld
7e89db8b3a Made post_gen_project more robust 2016-04-25 15:05:59 -07:00
Daniel Roy Greenfeld
a783828ce7 Check to confirm that the user has a modern version of Cookiecutter. 2016-04-25 14:09:37 -07:00
Audrey Roy Greenfeld
fb59c5117b More repo_name -> project_slug cleanup 2016-04-20 11:41:17 -07:00
Audrey Roy Greenfeld
15f350f05e Change repo_name to project_slug for clarity. 2016-04-20 10:00:35 -07:00
Jannis Gebauer
327d0c2038 major project cleanup 2016-04-08 09:45:09 +02:00
Krzysztof Szumny
aee5b34f8f post_get hook removes docs for pycharm if it isn't used 2016-03-28 01:43:37 +02:00
Krzysztof Szumny
da6ba57f05 use_pycharm variable, post_gen_project hook, {{ cookiecutter.repo_name }}/static marked as webResources 2016-03-23 19:05:24 +01:00
Catherine Devlin
3573272952 Protect from bad (non-importable) repo names, like those with dashes 2016-03-06 05:05:24 -05:00
Jannis Gebauer
bd8d23fac3 remove $ from allowed chars
django-environ has problems with environment variables that begin with a `$` sign, see https://github.com/joke2k/django-environ/issues/60
2016-01-18 12:14:34 +01:00
Daniel Roy Greenfeld
439766ea8f Slight change to post_gen_hook 2015-11-07 19:47:31 -08:00
Daniel Roy Greenfeld
08ab710ea4 Cryptographically secured env.example secret key 2015-10-15 09:29:43 -07:00
Daniel Roy Greenfeld
44814f3ced Add FAQ and early work on file copier #335 2015-09-18 10:55:06 -07:00
Daniel Roy Greenfeld
5bae08596e fixed #327 - post_gen_hook now deletes taskapp if celery isn't going to be used 2015-09-14 18:55:41 -07:00
Daniel Roy Greenfeld
3d93e10cf9 fixed #3, added secret key generator 2015-09-09 17:56:27 -07:00