MyTardis implementation using docker
Clone or download
Latest commit b108252 Oct 11, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docker-entrypoint.d add push_to Dec 6, 2017
docker-entrypoint_celery.d add tardis logging workaround to celery docker container Dec 13, 2017
docs update docs Oct 11, 2018
pki add haproxy load balancer with ssl certificate offloading Mar 26, 2018
settings.d update MYTARDIS_VERSION=3.9.0; add deployment and code merge docs Oct 10, 2018
src update docs/develop.md Oct 10, 2018
.dockerignore added django-celery adn postgresql dependancies into Dockerfile Jul 21, 2017
.gitignore fix python module version nto compatible with django 1.8 Dec 15, 2017
.gitmodules update docs/develop.md Oct 10, 2018
Dockerfile remove push-to requirements.txt due to upstream MyTardis commit 9995c… Oct 10, 2018
LICENSE add push_to Dec 6, 2017
README.md add pull instruction to documentation Feb 28, 2018
docker-compose.yml add better resource limits for development appropriate for ver. 2.2 Oct 10, 2018
env_template.DJANGO_EMAIL fix ldap authentication Nov 8, 2017
env_template.MYTARDIS_LDAP fix ldap authentication Nov 8, 2017
env_template.POSTGRES #1 Feb 12, 2018
env_template.RAPID_CONNECT_CONFIG add rapid connect for AAF Nov 7, 2017
gen-mytardis_version.sh add default settings for My Data frontend Feb 26, 2018
haproxy.cfg.template fix South python package affecting migrations; alter orcestration to … Sep 7, 2018
k8s.yaml working on yaml to env. attribute encoding issues Jun 7, 2018
mysite.template add longer email and user name fix for AAF synced accounts Jul 6, 2018
requirements-base.txt fix pip depandancy Apr 17, 2018
requirements-docs.txt fix settings overrides in mytardis default_settings new code Apr 6, 2018
requirements.txt fix python module version nto compatible with django 1.8 Dec 15, 2017
settings_pre.py fixes Apr 11, 2018

README.md

docker-mytardis

Deployment - Docker compose

Development

Dev. MyTardis develop branch

$ git clone -b develop --recursive https://github.com/UWA-FoS/docker-mytardis.git mytardis
$ cd mytardis

Required to contribute the the MyTardis project.

This will pull all the MyTardis develop branch source and set docker-compose.yml file for the latest UWA develop docker image with prerequisites for testing, etc...

To contribute to the MyTardis project please read the CONTRIBUTING.rst.

Dev. UWA production build.

$ git clone --recursive https://github.com/UWA-FoS/docker-mytardis.git mytardis
$ cd mytardis

Required to add new features and/or settings to the current UWA production MyTardis service.

General dev. instructions

  • rename the relevant env_template.MODULE file removing the "_template" from the name.
  • edit the env.MODULE files with the required settings.
  • template file that are not required, ensure the files are renamed and blank OR remove the relevant entry in the docker-compose.yml file.
  • edit Dockerfile and/or docker-compose.yml to your desired settings / alterations.
$ docker-compose pull                  # acquire the latest image from DockerHub
$ docker-compose up -d                 # start docker containers
$ docker-compose logs --no-color -f    # check logging output

(wait for logging output to stop, usually after a group of lines like this, then interrupt with Ctrl-C:)

        django_1    | [2018-02-26 04:37:36 +0000] [106] [INFO] Booting worker with pid: 106
        django_1    | [2018-02-26 04:37:36 +0000] [111] [INFO] Booting worker with pid: 111
        django_1    | [2018-02-26 04:37:36 +0000] [114] [INFO] Booting worker with pid: 114

$ docker-compose exec django python mytardis.py createsuperuser

Once the startup process has completed point you browser to http://localhost:8001/ and login using the credentials provided to the createsuperuser script above.

This development uses Git Submodules to incorporate other code bases into the build process were appropriate, such as the MyTardis source. To work on a different upstream version you should follow "Working on a Project with Submodules", "Pulling in Upstream Changes". E.g.,

To pull the latest upstream changes from MyTardis.
From the cloned project directory run
$ cd src/mytardis
$ git fetch
$ git merge origin/master
$ cd ../..
$ docker-compose build

Configuration

Configuration can be accomplished in a number of different was as circumstance dictates.

Docker build settings

  • Dockerfile

  • docker-entrypoint.d/

    Processed in the Django containers.

    Dump directory for Docker entrypoint bash scripts.

    The scripts are executed in the startup shell (not spawned) and are processed in lexical order.

  • docker-entrypoint_celery.d/

    Processed in the Celery containers.

    Dump directory for Docker entrypoint bash scripts.

    The scripts are executed in the startup shell (not spawned) and are processed in lexical order.

  • settings.d/

    Django settings dump directory.

Docker compose image instantiation settings

  • docker-compose.yml
    • env.MODULE

      Entries to these are placed in the docker-compose.yml file env_file and allow environment settings for container instances/deployments.

      env_template.MODULE templates are provided for examples and reference. Alter the settings for your deployment and rename the files to env.MODULE (remove the _template part of the name).

References

Ref. Source

MyTardis

Ref. Docker

Django docker container