This document is currently under active development and discussion!
The back office is the component that lets you manage:
The front office servers;
The clients (instances of MONARC deployed on front office servers);
The MONARC common models;
The access of users to the back office.
A front office server can host one or more clients.
All clients on a front office server share the same application source code. An Apache Virtual Host is associated to each clients (with dedicated environment variables, configuration file, databases and log files).
A client is always associated to a front office server, FO-1 in the picture below.
The creation of a new client will result in the generation of a JSON file on
the back office server (in the folder
The newly created JSON file contains the required information for the deployment of the new MONARC instance.
The inventory of clients for the ansible playbook is kept up-to-date by
supposed to be launched periodically with cron.
The cron task should be run by a dedicated user (for example ansible) on the
As you can see the script
update.sh checks for client(s) to create or to
delete on the back office through SSH. If needed, the ansible inventory is
updated. Then the ansible playbook is executed.
The creation of a new client will result in:
the generation of an Apache Virtual Host with dedicated environment variables;
the generation of a database for the client;
the generation of a configuration file for MONARC (in
the update of the reverse proxy (
the update of the database backup script on each front office servers.
If you want to enable the database backup script:
$ mkdir -p /var/lib/mysql-backup/monarc/ $ sudo crontab -l # m h dom mon dow command 30 2 * * * /usr/local/bin/backup_monarc_db.sh
This script will backup the databases of each clients on the front office server.
As explained previously this script is updated after each addition/deletion of client(s).