MedCo Technical Documentation
GithubDocker HubMedCoLDS
v0.3.1
v0.3.1
  • Home
  • Releases
  • For System Administrators
    • Requirements
    • Deployment
      • Local Test Deployment
      • Network Test Deployment
      • Network Production Deployment
      • Configuration
        • Keycloak
        • HTTPS Configuration
        • Configuring SwitchAAI Authentication
    • Data Loading
      • v0 (Genomic Data)
      • v1 (I2B2 Demodata)
    • Command-Line Interface (CLI)
    • Network Architecture
    • Common Problems
  • For Developers
    • Local Development Deployment
    • System Architecture
    • Description of the default test data
    • Database
Powered by GitBook
On this page
  • MedCo Stack Deployment (except Glowing Bear)
  • Deploy new docker image of a running service
  • Glowing Bear Deployment
  • Test the deployment

Was this helpful?

Export as PDF
  1. For Developers

Local Development Deployment

Deployment profile dev-local-3nodes.

PreviousCommon ProblemsNextSystem Architecture

Last updated 5 years ago

Was this helpful?

This deployment profile comes with default pre-generated keys and password. It is not meant to contain any real data nor be used in production. If you wish to do so, use instead the deployment profile.

This deployment profile deploys 3 MedCo nodes on a single machine for development purposes. It is meant to be used only on your local machine, i.e. localhost. The tags of the docker images used are all dev, i.e. the ones built from the development version of the different source codes. They are available either through Docker Hub, or built locally from the sources of each component.

MedCo Stack Deployment (except Glowing Bear)

First step is to clone the medco-deployment repository with the correct branch. This example gets the data in the home directory of the current user, but that can be of course changed.

cd ~
git clone -b dev https://github.com/ldsec/medco-deployment.git

Next step is to obtain the docker images defined in the medco-deployment repository:

cd ~/medco-deployment/compose-profiles/dev-local-3nodes
docker-compose -f docker-compose.yml -f docker-compose.tools.yml pull

Note that this will pull from Docker Hub the docker images tagged with dev. Because those are development versions, there is no guarantee that they will work at any point in time.

Next step is to run the nodes. They will run simultaneously, and the logs of the running containers will maintain the console captive. No configuration changes are needed in this scenario before running the nodes. To run them:

$ docker-compose up

Wait some time for the initialization of the containers to be done (up to the message: “i2b2-medco-srv… - Started x of y services (z services are lazy, passive or on-demand)”), this can take up to 10 minutes. For the subsequent runs, the startup will be faster.

Deploy new docker image of a running service

In order to deploy new code in the running deployment, it is enough to stop and start again the running container(s). Example:

docker-compose stop medco-connector-srv0 medco-connector-srv1 medco-connector-srv2
docker-compose up -d medco-connector-srv0 medco-connector-srv1 medco-connector-srv2

To confirm that a new version of the image has been deployed, Docker will output in the console "Recreating container ...".

Glowing Bear Deployment

First step is to clone the glowing-bear repository with the correct branch.

cd ~
git clone -b dev https://github.com/ldsec/glowing-bear-medco.git

Glowing Bear is deployed separately for development, as we use its convenient live development server:

cd ~/glowing-bear-medco/deployment
docker-compose up dev-server

Note that the first run will take a significant time in order to build everything.

In order to stop the containers, simply hit Ctrl+C in all the active windows.

Test the deployment

In order to test that the development deployment of MedCo is working, access Glowing Bear in your web browser at http://localhost:4200 and use the default credentials specified in . If you are new to Glowing Bear you can watch the video. You can also use the to perform tests.

By default MedCo loads a specific test data, refer to for expected results to queries. To load a dataset, follow the guide .

Network Production Deployment (prod-network)
Description of the default test data
Loading Data
Glowing Bear user interface walkthrough
CLI client
Keycloak user management