This creates more intermediates, but moves those that are less likely
to change to the top of the file. In theory this will produce faster
builds on a developer's machine as they won't need to apt-get update
every time.
Switch Dockerfile from CMD to ENTRYPOINT so that flags can be passed
to the makemigrations command
This is required in cases where we need to use django's makemigrations
--merge to merge two migrations.
* Adds an env variable to .env to turn on dev mode
* Uses the inbuilt django auth rather than saml when in dev mode
* For laziness, re-uses the admin login form for the non-admin login
make_dev_container now comes up ready to be logged into by any
user. No non-admin users are preconfigured; but you can add one at
http://localhost:28000/admin/auth/user/add/, log out, and then hit
http://localhost:28000/ to log in as the new user.
* Adds a laptop-mode-env file which docker can read env variables from
* Adds a Dockerfile.makemigrations; mostly identical to the main
Dockerfile. Important difference: instead of the source being copied
into the docker image at build time, it's mounted from the local
machine at run time.
* Adds a makemigrations shell script which builds an imagine using the
Dockefile.makemigrations and then uses it to run makemigrations
* Because the source is mounted from the local machine, any new
migrations created are dumped in the developer's git checkout ready
for adding to git.
Rename .env -> docker/laptop-mode-env
Create a ephemeral dev container to facilitate testing of
populate_inventory. It can be created, tweeked in the admin interface,
files updated in admin's populate_inventory, then redeployed to deal
with those changes.
A branch based one will need to be created to so we can do this work
without polluting the master branch.
This builds a working docker image for the application.
This is only an initial revision. It needs testing. MySQL, PIL, etc.
Was going to use Alpine, however, python3.6 segfaulted on docker
starting up, and I couldn't find the core files...