Skip to content
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/2-local-development/developing-locally.rst
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ Make sure to have the following on your host:

#. If you're running synchronously, see the application being served through Django development server: ::

uv run python manage.py runserver 0.0.0.0:8000
uv run python manage.py devserver 0.0.0.0:8000

or if you're running asynchronously: ::

Expand Down
8 changes: 4 additions & 4 deletions {{cookiecutter.project_slug}}/Procfile
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
release: python manage.py migrate
{%- if cookiecutter.use_async == "y" %}
web: gunicorn config.asgi:application -k uvicorn_worker.UvicornWorker
web: python manage.py prodserver web
{%- else %}
web: gunicorn config.wsgi:application
web: python manage.py prodserver web
{%- endif %}
{%- if cookiecutter.use_celery == "y" %}
worker: REMAP_SIGTERM=SIGQUIT celery -A config.celery_app worker --loglevel=info
beat: REMAP_SIGTERM=SIGQUIT celery -A config.celery_app beat --loglevel=info
worker: REMAP_SIGTERM=SIGQUIT python manage.py prodserver worker
beat: REMAP_SIGTERM=SIGQUIT python manage.py prodserver beat
{%- endif %}
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ set -o pipefail
set -o nounset


exec celery -A config.celery_app beat -l INFO
exec ./manage.py prodserver beat
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ set -o pipefail
set -o nounset


exec celery -A config.celery_app worker -l INFO
exec ./manage.py prodserver worker
46 changes: 46 additions & 0 deletions {{cookiecutter.project_slug}}/config/settings/production.py
Original file line number Diff line number Diff line change
Expand Up @@ -446,5 +446,51 @@
]

{%- endif %}

# django-prodserver
# https://github.com/nanorepublica/django-prodserver
INSTALLED_APPS += ["django_prodserver"]

PRODUCTION_PROCESSES = {
{%- if cookiecutter.use_docker == 'y' %}
{%- if cookiecutter.use_async == 'y' %}
"web": {
"BACKEND": "django_prodserver.backends.gunicorn.GunicornServer",
"ARGS": {"bind": "0.0.0.0:5000", "chdir": "/app", "worker-class": "uvicorn_worker.UvicornWorker"},
},
{%- else %}
"web": {
"BACKEND": "django_prodserver.backends.gunicorn.GunicornServer",
"ARGS": {"bind": "0.0.0.0:5000", "chdir": "/app"},
},
{%- endif %}
{%- else %}
{%- if cookiecutter.use_async == 'y' %}
"web": {
"BACKEND": "django_prodserver.backends.gunicorn.GunicornServer",
"ARGS": {"worker-class": "uvicorn_worker.UvicornWorker"},
},
{%- else %}
"web": {
"BACKEND": "django_prodserver.backends.gunicorn.GunicornServer",
"ARGS": {},
},
{%- endif %}
{%- endif %}
{%- if cookiecutter.use_celery == 'y' %}
# worker: REMAP_SIGTERM=SIGQUIT celery -A config.celery_app worker --loglevel=info
# beat: REMAP_SIGTERM=SIGQUIT celery -A config.celery_app beat --loglevel=info
"worker": {
"BACKEND": "django_prodserver.backends.celery.CeleryWorker",
"APP": "config.celery_app",
"ARGS": {"loglevel": "info"},
},
"beat": {
"BACKEND": "django_prodserver.backends.celery.CeleryBeat",
"APP": "config.celery_app",
"ARGS": {"loglevel": "info"},
},
{%- endif %}
}
# Your stuff...
# ------------------------------------------------------------------------------
2 changes: 1 addition & 1 deletion {{cookiecutter.project_slug}}/gulpfile.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ function asyncRunServer() {
{%- else %}
// Run django server
function runServer(cb) {
const cmd = spawn('python', ['manage.py', 'runserver'], { stdio: 'inherit' });
const cmd = spawn('python', ['manage.py', 'devserver'], { stdio: 'inherit' });
cmd.on('close', function (code) {
console.log('runServer exited with code ' + code);
cb(code);
Expand Down
1 change: 1 addition & 0 deletions {{cookiecutter.project_slug}}/requirements/base.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ django-environ==0.12.0 # https://github.com/joke2k/django-environ
django-model-utils==5.0.0 # https://github.com/jazzband/django-model-utils
django-allauth[mfa]==65.13.0 # https://github.com/pennersr/django-allauth
django-crispy-forms==2.5 # https://github.com/django-crispy-forms/django-crispy-forms
django-prodserver==2.3.0 # https://github.com/nanorepublica/django-prodserver
crispy-bootstrap5==2025.6 # https://github.com/django-crispy-forms/crispy-bootstrap5
{%- if cookiecutter.frontend_pipeline == 'Django Compressor' %}
django-compressor==4.5.1 # https://github.com/django-compressor/django-compressor
Expand Down