New beta version out. With this beta the hope is to get feedback about the new way Mayan EDMS installs and the new way the Docker image is produce and hosted.
Previously, a blank "media" folder was committed to the repository. This folder is used to store document files, image caches and document signatures. User settings were managed using a local.py module in the "settings" folder.
This created a difficult situation where there had to be a writable directory committed to the repository. This also meant having to do use some tricks to allow the initial setup to complete even thought there was no user setting file and no secret key available, something Django doesn't allow. The way Mayan solved this was by reverting to a default setting file when there was no user settings file. With this new beta, now even the user setting will be stored in the "media" folder inside an additional "settings" folder. This way all installation artifacts are now contained in a separate directory that is not part of the code repository. This also allows recreating this entire media folder at runtime, thus removing the requirement of the Docker image to only used named volumes.
Another change for this beta is that the Docker repository is now merged back into the main repository. Until now only stable release were available as Docker images. This is because these releases were done manually. After a stable Mayan Python package was released, the Docker repository was updated and pushed to BitBucket which in turn triggered the automated creation of a new image in the Docker registry. This meant that when errors with the Docker image were found we sometimes had to go back to the Mayan Python code repository, make changes, make another release, and return to the continue work on the Docker repository. Now that the Docker image creation is part of the main repository this happens in the same debugging process.
Another change is that we are now using GitLab's Docker registry to generate the Docker images. The images are also automatically generated when the test suit completes without error. This means that for each successful commit of new code a new daily docker images will be available. This allows for continuous deliver of Docker images. The images are tagged with the branch that was used to generate them and can be found here:
https://gitlab.com/mayan-edms/mayan-edms/container_registry When you checkout image "
registry.gitlab.com/mayan-edms/mayan-edms:feature-docker" you will be pulling the latest image built from code from the "feature/docker" branch. The image "
registry.gitlab.com/mayan-edms/mayan-edms:versions-next" will be from code from the "versions/next" branch, the branch with the latest development code that will become the next stable release. When a stable release happens the images will be tagged with the version number and a special tagged named "latest" will point to the latest release. This setup allows the production of nightly as well as stable images using the same setup. To try out the latest development image use:
Since the gunicorn app server is now used instead of NGINX the default port has changed to 8000. This change is internal to the Docker container. Docker port mapping can still be used to present port 8000 of the container as port 80 of the machine by using -p 80:8000.
The documentation for the Docker image will be merged as a chapter of the main documentation.