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 firstname.lastname@example.org.
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.
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/
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/
databaseLocation is set to a non-null value, the database folders are located relative to that path
config.json includes the details for any plugins in the
servicesDirectory section. From this folder, move all files (typically
.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
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.
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
user:/data$ mv /oldlocation/license.cxl /newlocation/
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.
With this the migration is complete, Marvin Live is ready to use.