Skip to content

Latest commit

 

History

History
 
 

deployment

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

aerie-deployment

This document describes how to deploy Aerie.

Prerequisite Software

Before you can deploy Aerie, you must install and configure the following products on your deployment machine:

  • Docker which is used to deploy containers for the Aerie services.

Setting the Environment Variables

Each container has environment variables that can be used to fine-tune your deployment. See the environment variable documentation for the complete set of variables. See the example docker-compose.yml file for examples on how to set the environment variables.

Inside the .env there is a collection of variables that must be set in order to deploy Aerie using the default init-aerie.sh and docker-compose.yml. They are, as follows:

Name Description
REPOSITORY_DOCKER_URL The URL used to fetch images of Aerie packages.
DOCKER_TAG The version of the Aerie images to fetch.
AERIE_USERNAME The username used for Aerie services when they access the Postgres database.
AERIE_PASSWORD The password used for Aerie services when they access the Postgres database.
POSTGRES_USER The username of the superuser for the Postgres database.
POSTGRES_PASSWORD The password of the superuser for the Postgres database.
UNTRUE_PLAN_START Temporary solution to provide plan start time to models, should be set to a time that models will not fail to initialize on.

At minimum, you must assign values to the environment variables already present in .env in order to deploy Aerie.

Configuring Merlin Simulation Workers

A Merlin simulation is executed by an aerie-merlin-worker. An Aerie deployment can configure one or more workers to provide an Aerie deployment with the ability to execute multiple concurrent simulations. Without a worker Aerie will not execute any simulations. Workers are declared by adding a worker container definition in your docker-compose file for each worker. The default docker-compose.yml contained in this directory declares a single worker. The worker must configured to access the same postgresql instance and database as the Merlin server. It is recommended that the number of workers does not exceed the host's remaining available cores (considering other processes running on the host).

Starting the Services

Download and unzip the latest Deployment.zip file onto your local machine, then do:

cd deployment
docker-compose up --build --detach

Postgres Considerations

When the Postgres container starts it will run init-aerie.sh to initialize the database with the Aerie database objects.

Note: This script is only run if you start the container with a data directory that is empty; any pre-existing database will be left untouched on container startup. See the 'Initialization scripts' section of the Docker Postgres documentation for more detailed information.

Stopping the Services

docker-compose down

Troubleshooting

  • Make sure you are starting all the Docker containers in a clean environment. This means before starting the services make sure all containers are removed, all images are removed, and all volumes are removed.
  • If you are having trouble and cannot find the answer here, please contact someone from the Aerie team via the #mpsa-aerie-users Slack channel.