Deployment

These pages explain how to deploy MedCo in different scenarios.

Each deployment scenario corresponds to a deployment profile, as described below. All these instructions use the deployment scripts from the medco-deployment repository.

If you are new to MedCo…

… and want to try to deploy the system on a single machine to test it, you should should follow the Local Test Deployment guide.

… and want to create or join a MedCo network for test purposes, you should follow the Network Test Deployment guide.

… and want to create or join a MedCo network in production, you should follow the Network Production Deployment guide.

… and want to develop around MedCo, you should follow the Local Development Deployment guide.

Deployment Profiles

A deployment profile is composed of two things:

  • a compose profile in medco-deployment/compose-profiles/<profile name>/: docker-compose file and parameters like ports to expose, log level, etc.

  • a configuration profile in medco-deployment/configuration-profiles/<profile name>/: files mounted in the docker containers, containing the cryptographic keys, the certificates, etc.

Some profiles are provided by default, for development or testing purposes. Those should not be used in a production scenario with real data, as the private keys are set by default, thus not private. Other types of profiles must generated using the scripts in medco-deployment/resources/profile-generation-scripts/<profile name>/.

The different profiles are the following:

test-local-3nodes (Local Test Deployment)

  • for test on a single machine (used by the MedCo live demo)

  • 3 nodes on any host

  • using the latest release of the source codes

  • no debug logging

  • profile pre-generated

  • for test on several different hosts

  • a single node on a host part of a MedCo network

  • using the latest release of the source codes

  • no debug logging

  • profile must be generated prior to use with the provided scripts

  • for a deployment in production

  • a single node on a host part of a MedCo network

  • using the latest release of the source codes

  • no debug logging

  • profile must be generated prior to use with the provided scripts

dev-local-3nodes (Local Development Deployment)

  • for software development

  • 3 nodes on the local host

  • using development version of source codes

  • debug logging enabled

  • profile pre-generated

The database is pre-loaded with some encrypted test data using a key that is pre-generated from the combination of all the participating nodes’ public keys. For the test-network and prod-network deployment profiles this data will not be correctly encrypted, since the public key of each node is generated independently, and, as such, the data must be re-loaded.

Last updated