The deployment of MONARC is mainly tested on Ubuntu 18.04 LTS. In order to install MONARC you will need the following requirements:
Postfix, or an equivalent software, is required for the account creation and password recovery features.
You will find more details about the installation here.
Back office | MONARC | Reverse proxy | Configuration server | |
---|---|---|---|---|
Number of vCPU |
4 |
4 |
Not that powerful. But all connections (for the BO and FOs) will go through it. |
Not that powerful. Mainly used for the creation of clients on the different FOs. |
RAM (GB) |
4 |
16 |
||
HDD (GB) |
20 |
50 |
Of course these values are minimum requirements. MONARC can be installed on a Raspberry Pi. It is always better to forecast more memory and disk space for MONARC (front office) since it will host the data of the analysis.
The deployment on the different servers requires an Internet connection since the updates are retrieved from our GitHub repositories. If this is hardly possible in your environment due to an internal policy, you need to configure a proxy in order to access to Internet. This is an important requirement since all MONARC updates, including security updates, are provided from the Git repositories.
The ansible playbook also needs an Internet connection in order to dynamically deploy new clients.
The servers (or the proxy) should be able to contact:
-
github.com
-
api.github.com
-
pypi.python.org
-
registry.npmjs.org
-
deb.nodesource.com
-
getcomposer.org
-
.packagist.org
-
packagist.phpcomposer.com
-
letsencrypt.org
-
APT repositories
To make the different servers use the proxy, specify the address of your proxy
in the file /home/ansible/.bash_profile
. For example:
export http_proxy=http://proxy.your.domain.com:4128
export https_proxy=http://proxy.your.domain.com:4128
Is is strongly advised to use a TLS certificate.
In the case you are using MONARC with a back office you can set the certificate on the reverse proxy. The ansible playbook is compatible Let’s Encrypt auto-renew certificates. You will find more information in the ansible playbook.
If you are not using a back office you can simply configure the certificate on the front office server.