mirror of
https://github.com/cookiecutter/cookiecutter-django.git
synced 2025-02-16 19:41:03 +03:00
Reorder Docker deployment sections. Fix #606
This commit is contained in:
parent
3c980f13a3
commit
ae5be42ff4
|
@ -54,6 +54,47 @@ Optional: Postgres Data Volume Modifications
|
||||||
Postgres is saving its database files to the `postgres_data` volume by default. Change that if you wan't
|
Postgres is saving its database files to the `postgres_data` volume by default. Change that if you wan't
|
||||||
something else and make sure to make backups since this is not done automatically.
|
something else and make sure to make backups since this is not done automatically.
|
||||||
|
|
||||||
|
Optional: Certbot and Let's Encrypt Setup
|
||||||
|
------------------------------------------
|
||||||
|
|
||||||
|
If you chose `use_letsencrypt` and will be using certbot for https, you must do the following before running anything with docker-compose:
|
||||||
|
|
||||||
|
Replace dhparam.pem.example with a generated dhparams.pem file before running anything with docker-compose. You can generate this on ubuntu or OS X by running the following in the project root:
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
$ openssl dhparam -out /path/to/project/compose/nginx/dhparams.pem 2048
|
||||||
|
|
||||||
|
If you would like to add additional subdomains to your certificate, you must add additional parameters to the certbot command in the `docker-compose.yml` file:
|
||||||
|
|
||||||
|
Replace:
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
command: bash -c "sleep 6 && certbot certonly -n --standalone -d {{ cookiecutter.domain_name }} --text --agree-tos --email mjsisley@relawgo.com --server https://acme-v01.api.letsencrypt.org/directory --rsa-key-size 4096 --verbose --keep-until-expiring --standalone-supported-challenges http-01"
|
||||||
|
|
||||||
|
With:
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
command: bash -c "sleep 6 && certbot certonly -n --standalone -d {{ cookiecutter.domain_name }} -d www.{{ cookiecutter.domain_name }} -d etc.{{ cookiecutter.domain_name }} --text --agree-tos --email {{ cookiecutter.email }} --server https://acme-v01.api.letsencrypt.org/directory --rsa-key-size 4096 --verbose --keep-until-expiring --standalone-supported-challenges http-01"
|
||||||
|
|
||||||
|
Please be cognizant of Certbot/Letsencrypt certificate requests limits when getting this set up. The provide a test server that does not count against the limit while you are getting set up.
|
||||||
|
|
||||||
|
The certbot certificates expire after 3 months.
|
||||||
|
If you would like to set up autorenewal of your certificates, the following commands can be put into a bash script:
|
||||||
|
|
||||||
|
::
|
||||||
|
|
||||||
|
#!/bin/bash
|
||||||
|
cd <project directory>
|
||||||
|
docker-compose run certbot bash -c "sleep 6 && certbot certonly --standalone -d {{ cookiecutter.domain_name }} --text --agree-tos --email {{ cookiecutter.email }} --server https://acme-v01.api.letsencrypt.org/directory --rsa-key-size 4096 --verbose --keep-until-expiring --standalone-supported-challenges http-01"
|
||||||
|
docker exec pearl_nginx_1 nginx -s reload
|
||||||
|
|
||||||
|
And then set a cronjob by running `crontab -e` and placing in it (period can be adjusted as desired):
|
||||||
|
|
||||||
|
0 4 * * 1 /path/to/bashscript/renew_certbot.sh
|
||||||
|
|
||||||
Run your app with docker-compose
|
Run your app with docker-compose
|
||||||
--------------------------------
|
--------------------------------
|
||||||
|
|
||||||
|
@ -93,46 +134,10 @@ If you want to scale your application, run::
|
||||||
|
|
||||||
.. warning:: Don't run the scale command on postgres, celerybeat, certbot.
|
.. warning:: Don't run the scale command on postgres, celerybeat, certbot.
|
||||||
|
|
||||||
Certbot and Let's Encrypt Setup
|
If you have errors, you can always check your stack with `docker-compose`. Switch to your projects root directory and run::
|
||||||
-------------------------------
|
|
||||||
|
|
||||||
If you are using certbot for https, you must do the following before running anything with docker-compose:
|
docker-compose ps
|
||||||
|
|
||||||
Replace dhparam.pem.example with a generated dhparams.pem file before running anything with docker-compose. You can generate this on ubuntu or OS X by running the following in the project root:
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
$ openssl dhparam -out /path/to/project/compose/nginx/dhparams.pem 2048
|
|
||||||
|
|
||||||
If you would like to add additional subdomains to your certificate, you must add additional parameters to the certbot command in the `docker-compose.yml` file:
|
|
||||||
|
|
||||||
Replace:
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
command: bash -c "sleep 6 && certbot certonly -n --standalone -d {{ cookiecutter.domain_name }} --text --agree-tos --email mjsisley@relawgo.com --server https://acme-v01.api.letsencrypt.org/directory --rsa-key-size 4096 --verbose --keep-until-expiring --standalone-supported-challenges http-01"
|
|
||||||
|
|
||||||
With:
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
command: bash -c "sleep 6 && certbot certonly -n --standalone -d {{ cookiecutter.domain_name }} -d www.{{ cookiecutter.domain_name }} -d etc.{{ cookiecutter.domain_name }} --text --agree-tos --email {{ cookiecutter.email }} --server https://acme-v01.api.letsencrypt.org/directory --rsa-key-size 4096 --verbose --keep-until-expiring --standalone-supported-challenges http-01"
|
|
||||||
|
|
||||||
Please be cognizant of Certbot/Letsencrypt certificate requests limits when getting this set up. The provide a test server that does not count against the limit while you are getting set up.
|
|
||||||
|
|
||||||
The certbot certificates expire after 3 months.
|
|
||||||
If you would like to set up autorenewal of your certificates, the following commands can be put into a bash script:
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
#!/bin/bash
|
|
||||||
cd <project directory>
|
|
||||||
docker-compose run certbot bash -c "sleep 6 && certbot certonly --standalone -d {{ cookiecutter.domain_name }} --text --agree-tos --email {{ cookiecutter.email }} --server https://acme-v01.api.letsencrypt.org/directory --rsa-key-size 4096 --verbose --keep-until-expiring --standalone-supported-challenges http-01"
|
|
||||||
docker exec pearl_nginx_1 nginx -s reload
|
|
||||||
|
|
||||||
And then set a cronjob by running `crontab -e` and placing in it (period can be adjusted as desired):
|
|
||||||
|
|
||||||
0 4 * * 1 /path/to/bashscript/renew_certbot.sh
|
|
||||||
|
|
||||||
Supervisor Example
|
Supervisor Example
|
||||||
-------------------
|
-------------------
|
||||||
|
@ -160,7 +165,3 @@ Place it in `/etc/supervisor/conf.d/{{cookiecutter.project_slug}}.conf` and run:
|
||||||
To get the status, run::
|
To get the status, run::
|
||||||
|
|
||||||
supervisorctl status
|
supervisorctl status
|
||||||
|
|
||||||
If you have errors, you can always check your stack with `docker-compose`. Switch to your projects root directory and run::
|
|
||||||
|
|
||||||
docker-compose ps
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user