This PR makes building an official docker image possible. I would still consider this a work in progress and needs further testing, however I wanted to open it up to gauge interest in actually merging it.
Restructures the demo to just use the official docker image (once it's made)
Restructures the contents of demo into app/ to build an actual django app inside the docker image.
Introduces a multi-stage docker image that will assemble all the pieces required to run response.
Ensures that all settings can be set via environment variables.
How To Test
clone my fork
docker build -t response .
cp demo/env.example demo/.env and modify with settings
cd demo && docker-compose up -d
Docker Image Setup
The django app is simply installed to /app and response is installed as an actual python module in Stage 1 of the docker build. In the final stage all install python modules are pulled down and made available in the final image, keeping the final image as small as possible.
The docker image utilizes a entrypoint script that was adapted from the demo script, and can be adapted further to support setting an ADMIN user/pass via environment variables. The script ensures the database is up, migrations are run, and then starts uwsgi up to run the django app.
TODOS
These are possible todos I'd like to do still if there's interest.
[ ] include helm chart
[ ] include kubernetes manifests/kustomize manifest
This PR makes building an official docker image possible. I would still consider this a work in progress and needs further testing, however I wanted to open it up to gauge interest in actually merging it.
demo
to just use the official docker image (once it's made)app/
to build an actual django app inside the docker image.How To Test
cp demo/env.example demo/.env
and modify with settingscd demo && docker-compose up -d
Docker Image Setup
The django app is simply installed to
/app
andresponse
is installed as an actual python module in Stage 1 of the docker build. In the final stage all install python modules are pulled down and made available in the final image, keeping the final image as small as possible.The docker image utilizes a entrypoint script that was adapted from the demo script, and can be adapted further to support setting an ADMIN user/pass via environment variables. The script ensures the database is up, migrations are run, and then starts uwsgi up to run the django app.
TODOS
These are possible todos I'd like to do still if there's interest.