Skip to main content
Version: 1.24

MEO Server Setup and Installation

Audience: Citizen devs System/Security Administrators

Skill Prerequisites: System Administration and Maintenance

This section will guide you through the MEO installation process.

Downloading the MEO installation package

Please clone the following GitHub repository containing the MEO installation package to the machine where MEO will be installed (or clone it locally and transfer the contents to the machine where MEO will be installed).

https://github.com/plantanapp/meo-setup

Installation Package contents

The MEO installation package is structured in four different files:

  1. RunPlantanapp.ps1 - a PowerShell script that will handle the download of the MEO Docker image from our AWS repository and the install itself. It is also used to control the status of the MEO server (see MEO status control, below). Note: we do not recommend modifying its content. Do so at your own risk.

  2. docker-compose.yml - a file that defines the services needed by the Docker container to run the MEO app. Note: we do not recommend modifying its content. Do so at your own risk.

  3. appsettings.override.json - configuration file that allows to set specific server parameters (advanced). A typical MEO deployment does not require altering this file (please see the appsettings.override.json file configuration section for details).

  4. .env - file that contains the installation configuration of the Multi-Environment Orchestrator (see below).

Installation process

.env file setup

Open the .env; it contains the following list of parameters:

MULTI_ENV_DOCKER_TAG=latest
http_port=8080
https_port=8081
MultiEnvGitDataEncKey=
MultiEnvDbConnection=Data Source=[host];Initial Catalog=MultiEnv;User Id=[user];Password=[pass];
MultiEnvAuthDbConnection=Data Source=[host];Initial Catalog=MultiEnvAuth;User Id=[user];Password=[pass];
HttpsRedirect=false
HttpsCertFolder=./
HttpsCertFileName=
HttpsCertPassword=
AppConfigFolder=./
RepoFolder=[path]
LogsFolder=[path]
SqlUseManagedNetworkingOnWindows=true

The following mandatory parameters need to be defined/customized according to your environment before running the installation itself.

  • http_port/https_port - Define the HTTP or HTTPS port which is mapped on the MEO host machine and allows it to communicate with the Plant an App machine. Please see the MEO Prerequisites page for information regarding whether you should choose HTTP or HTTPS.
  • MultiEnvGitDataEncKey - Define the Encryption key; must be a 32 characters (fixed length!) ASCII printable ASCII printable string.
  • MultiEnvDbConnection - Define the connection string to the MEO Environment Orchestrator database (address, DB name, user ID and password).
  • MultiEnvAuthDbConnection - Define the connection string to the MEO Identity Provider database (address, DB name, user ID and password).
  • Password - ???
  • RepoFolder - Define the MEO repository folder; it will be used to store the file structure of your Plant an App apps. The path can be local or remote, but it must be accessible from the MEO server.
  • LogsFolder - Define the MEO log folder. The path can be local or remote, but it must be accessible from the MEO server.
note

If you choose to use HTTPS rather than HTTP, you will also need to provide a TLS certificate to encrypt the connection and subsequently provide values for the following parameters:

  • HttpsRedirect
  • HttpsCertFolder
  • HttpsCertFileName
  • HttpsCertPassword
info

For detailed information about all the parameters in the .env file, please see the "env file configuration" section.

Installing MEO

Once the .env file configuration above is complete, please run the RunPlantanapp.ps1 (no arguments) script in PowerShell:

> .\RunPlantanapp.ps1

The script will download and install MEO as a Docker container image (an executable package that includes everything needed to run the application - code, runtime, system tools, system libraries and settings) in a Docker container.

MEO status control

The RunPlantanapp.ps1 script also allows you to control the status of the Multi-Environment Orchestrator. The following arguments are available:

ParameterInformation
-StartStarts the MEO Docker containers.
-StopStops the MEO Docker containers.
-ResetRemoves the MEO Docker containers, redownloads the Docker image and starts MEO.
-PermanentlyRemoveRemoves the MEO Docker containers.
-UpdatePulls the latest image from the Plant an App repository (needs an internet connection) and updates the Docker containers. It does not delete any data.
-RestartStops and then starts the Docker containers. It does not delete any data.
-PinToTag⚠ Used for debugging. Pulls the image with the specified tag and updates the Docker containers. Please do not use this command unless specifically needed or demanded by the Plant an App team.
info

A few examples of MEO server commands:

> .\RunPlantanapp.ps1 -Start

> .\RunPlantanapp.ps1 -Stop

> .\RunPlantanapp.ps1 -Reset