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, you should follow the Network Test 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

  • test-network (Network Test Deployment)

    • 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

  • 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 deployment profile 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