{info} Read this before deploying the application.
Before deploying the application make sure your system fulfils the installation requirements and your database is properly configured.
Follow these steps to deploy Compound Registration to Tomcat:
Configure Tomcat connector as needed in the server.xml within the Tomcat conf folder.
When Tomcat 8.5 and Internet Explorer 11 or Edge web browsers are used, the following line should be added to the context.xml:
<CookieProcessor className="org.apache.tomcat.util.http.LegacyCookieProcessor" alwaysAddExpires="true" />
Make sure you copied the proper JDBC driver as described on this page.
When deploying Compound Registration before version 23.14.0 you will also need to include the following libraries to be able to use the email notification:
Copy the downloaded jar files to your $TOMCAT_HOME/lib
folder.
Delete the build number from the downloaded .war file name, rename as RegistryCxn.war and then copy it into the Tomcat webapps folder. Restart Tomcat. It will detect the newly added war file and extract it automatically.
After a successful deployment, the application can be started. By default, you can access the application at the following URL: http://yourhost:8080/RegistryCxn/client/. If everything went well you'll see the Compound Registration Wizard, that helps you to upload your the license file, set up your database connection and create the first user of Compound Registration.
Notes :
$HOME/.chemaxon
folder with the provided ones, if needed.registry.properties
file. Visit the Configuration Guide for more information. You can also find an example property file at $TOMCAT_HOME/webapps/RegistryCxn/WEB-INF/classes/registry.example.properties
.
{info} Download docker image.
You can get our docker image from our products download page: https://chemaxon.com/products/compound-registration/download
{warning} If you are using Oracle as database, you need to download an Oracle JDBC driver and include it into the docker image
Follow these steps to include Oracle JDBC driver into the docker image :
Download the recommended JDBC driver from here: https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html (e.g.ojdbc11.jar
)
Pull the Compound Registration image you would like to use from here: https://download.chemaxon.com/compound-registration
Create a file with name Dockerfile
(without extension) with the following content:
FROM registration:{REPLACE_WITH_VERSION}
COPY ojdbc11.jar /home/cxnapp/install/RegistryCxn/lib
COPY ojdbc11.jar /home/cxnapp/install/RegistryCxn-standalone/lib
Save this file next to the downloaded driver (e.g.ojdbc11.jar
) in an empty folder.
Run the following command, which will build the docker image:
docker build -t {DOCKER_IMAGE_WITH_ORACLE}:{REPLACE_WITH_VERSION} .
Our image contains Compound Registration and its command line tool. During docker run , if you provide an argument, the command line tool will run it as a command, otherwise Compound Registration application will start.
Follow these steps to install and run Compound Registration in docker container:
Create an env.list
file that contains database connection parameters:
mysql_example_env.list
RegDBType=MySql
RegDBDriver=org.mariadb.jdbc.Driver
RegDBUrl=jdbc:mysql://{REPLACE_WITH_DATABASE_URL}/{REPLACE_WITH_DATABASE_NAME}
RegDBUser={REPLACE_WITH_USERNAME}
RegDBPass={REPLACE_WITH_PASSWORD}
RegDBValidationQuery=SELECT 1
ApplicationStatus=installed
postgresql_example_env.list
RegDBType=PostgreSQL
RegDBDriver=org.postgresql.Driver
RegDBUrl=jdbc:postgresql://{REPLACE_WITH_DATABASE_URL}/{REPLACE_WITH_DATABASE_NAME}
RegDBUser={REPLACE_WITH_USERNAME}
RegDBPass={REPLACE_WITH_PASSWORD}
RegDBValidationQuery=SELECT 1
ApplicationStatus=installed
oracle_example_env.list
RegDBType=Oracle
RegDBDriver=oracle.jdbc.driver.OracleDriver
RegDBUrl=jdbc:oracle:thin:@{REPLACE_WITH_DATABASE_URL}/{REPLACE_WITH_DATABASE_SID_OR_SERVICE}
RegDBUser={REPLACE_WITH_USERNAME}
RegDBPass={REPLACE_WITH_PASSWORD}
RegDBValidationQuery=SELECT 1 FROM DUAL
ApplicationStatus=installed
Create the database schema for Compound Registration using the created env.list
:
docker run --rm --env-file {REPLACE_WITH_PATH_TO_ENV_LIST} hub.chemaxon.com/cxn-docker-release/registration:{REPLACE_WITH_VERSION}/{DOCKER_IMAGE_WITH_ORACLE}:{REPLACE_WITH_VERSION} install -migrateSchema
Create an admin user:
docker run --rm --env-file {REPLACE_WITH_PATH_TO_ENV_LIST} hub.chemaxon.com/cxn-docker-release/registration:{REPLACE_WITH_VERSION}/{DOCKER_IMAGE_WITH_ORACLE}:{REPLACE_WITH_VERSION} create-user -name {REPLACE_WITH_USERNAME} -password {REPLACE_WITH_PASSWORD} -group SUPER
Add the license URL to the env.list
file. Please make sure that the given Chemaxon license is available via file server over HTTP/HTTPS. You can skip this and upload the license later from the Application UI on the Administration Page, but it is not recommended as it will be saved inside the container, and you would have to re-upload it if the container is re-created.
add to env.list
CHEMAXON_LICENSE_URL={REPLACE_WITH_URL: eg. http://myserver.local/chemaxon/license.cxl}
Run Compound Registration
docker run -p {REPLACE_WITH_DESIRED_PORT}:8080 -d --restart=unless-stopped --env-file {REPLACE_WITH_PATH_TO_ENV_LIST} hub.chemaxon.com/cxn-docker-release/registration:{REPLACE_WITH_VERSION}/{DOCKER_IMAGE_WITH_ORACLE}:{REPLACE_WITH_VERSION}
With these steps you have Compound Registration running, you can skip the "Install through the Wizard" step from the deployment guide.