Marvin Live migration guide

This document should help migrating the application to a new location, and it assumes the old instance followed the installation guide. Otherwise reach out to us at [email protected].

First, following the installation guide setup the new environment including Node, npm and Marvin Live itself. Once this is done, stop the old instance so the migration can be started. Depending on the level of differences between the old and new instances, some settings may need changes in the configuration (e.g.: changing relative paths). These can be safely done during a migration, so feel free to optimize the directory layout as needed. A complete reference for the settings can be found in the installation guide.

To completely migrate a Marvin Live instance, the following static files need to be moved:

config.json

This file holds all settings for Marvin Live. First step is to move this to the new location. If you don't know where config.json is located, it's used as a command line argument to start the application, typically in a folder at the root of the Marvin Live installation. In the following steps, different settings in the file are reviewed.

user:/data$ mv /oldlocation/config.json /newlocation/

Databases

config.json includes the details of any authenticated domains in the authentication section. In the same folder, each of these domains has a db-domainname folder. These folders need to be moved to the new location.

user:/data$ mv /oldlocation/db-* /newlocation/

Note: if databaseLocation is set to a non-null value, the database folders are located relative to that path
Note: if no authentication is configured, history is saved to a default domain called app with a database folder db-app.

Plugins

config.json includes the details for any plugins in the servicesDirectory section. From this folder, move all files (typically .js, .html and .json files), except for the node_modules folder. Once the files are at the new location, you can use npm to reinstall the dependencies of the plugins. Finally, make sure the servicesDirectory setting has the appropriate value in config.json.

user:/data$ mkdir /newlocation/services
user:/data$ mv /oldlocation/services/*.js /oldlocation/services/*.html /oldlocation/services/*.json /newlocation/services/
user:/data$ cd /newlocation/services/
user:/newlocation/services$ npm install 

Note: the reason for reinstalling node_modules instead of moving the folder, is because the installations are specific to the operating system and NodeJS version, which probably differs between the two instances. These details are processed during an installation.

ChemAxon license

Similar to databases and plugins, config.json includes the configuration to your ChemAxon license file(s) under the license section. Once the file(s) are at the new location, make sure the license setting has the appropriate value in config.json.

user:/data$ mv /oldlocation/license.cxl /newlocation/

Miscellaneous files

config.json can contain the following settings that typically reference other files with relative or absolute paths. As appropriate, move the files to the new location and make sure the settings in config.json match the new environment.

  • tls

  • saveReportOnDelete

  • themeOverrides

  • SAML specific certificate files

Finally...

With this the migration is complete, Marvin Live is ready to use.