My last intervention on the code left me with a functional MVP that already ran in a container. In the meantime, I bought a domain; the hour it took for the DNS to update to my IP was enough to set some other misc. things.
One is not supposed to deploy Django with its runserver
command in a production environment; this is amply stated in its documentation:
DO NOT USE THIS SERVER IN A PRODUCTION SETTING. It has not gone through security audits or performance tests. (And thatβs how itβs gonna stay. Weβre in the business of making web frameworks, not web servers, so improving this server to be able to handle a production environment is outside the scope of Django.)
the Django people themselves
A sane stance if I have ever seen one!
It had been a while since I used gunicorn
, and so I found some guides online to skim and get a grasp of things. But there's an issue: if the process is ran in the background (as daemon = True
would put it), the container stops; and that is not good.
As the container is now stably up-and-running, a few things shall be done. An HTTPS certificate β with some Let's Encrypt (almost literal) magic, that is very easy to achieve πͺ β ensures encrypted communication back and forth, but there are some other things on my mind, too: Django deploys static files in a different way.