Installation Guide¶
This guide provides step-by-step instructions for installing and configuring the DSClient application.
Alternative installation methods
The recommended installation pathway is to use a Docker container.
For other solutions, please reach out to the Chemaxon Professional Services team for further assistance.
Version Compatibility¶
| CompReg/DSClient Version | Supported Java Versions |
|---|---|
| 23.9.x | >= 11 |
| 24.3.x | >= 17 |
| 25.1.x | >= 17 |
| 26.2.x | >= 21 |
Supported Java Versions
Version 25.3.0 is the last version of the DSClient which supports Java 17.
Video Walkthrough¶
Prerequisites¶
The following items are required before installing the Chemaxon DSClient:
- A configured Chemaxon CompReg instance with access to an admin account and the command-line interface
- Docker installed and running with access to Chemaxon Docker registry - chemaxon.jfrog.io
- PostgreSQL or Oracle database for downstream storage
- A valid Chemaxon license for CompReg and DSClient
System Requirements¶
| Component | Minimum | Recommended |
|---|---|---|
| CPU | 2 cores | 4+ cores |
| Memory | 4 GB | 8+ GB |
| Disk Space | 10 GB | 50+ GB |
Installation Steps¶
Step 1: Configure CompReg¶
Authentication
Access to the Chemaxon Docker registry requires authentication:
1. Pull and deploy a fully-functional CompReg system in Docker with the following compreg.env file
docker login chemaxon.jfrog.io
docker network create compreg-net
docker run -d --name compreg-db \
--network compreg-net \
-p 5433:5432 \
-v compreg-db-data:/var/lib/postgresql/data \
-e POSTGRES_DB=regsys \
-e POSTGRES_USER=regsys \
-e POSTGRES_PASSWORD=OnlineDemo2 \
postgres:15
docker run -d --name compregDemo \
--network compreg-net \
--env-file compreg.env \
-p 8080:8080 \
chemaxon.jfrog.io/cxn-docker-release/registration:25.2.4-2602171141
# Database Configuration
RegDBType=PostgreSQL
RegDBDriver=org.postgresql.Driver
RegDBUrl=jdbc:postgresql://compreg-db:5432/reg
RegDBUser=regsys
RegDBPass=OnlineDemo
RegDBMaxActive=30
RegDBValidationQuery=SELECT 1
# Downstream Publishing
RegDownstreamMode=Database
RegDownstreamPublishEnabled=true
RegDownstreamFusedImageFormat=mol:V3
# Database Configuration
RegDBType=PostgreSQL
RegDBDriver=org.postgresql.Driver
RegDBUrl=jdbc:postgresql://compreg-db:5432/reg
RegDBUser=regsys
RegDBPass=OnlineDemo
RegDBMaxActive=30
RegDBValidationQuery=SELECT 1
# Downstream Publishing via ActiveMQ
RegDownstreamMode=ActiveMQ
RegDownstreamPublishEnabled=true
RegDownstreamFusedImageFormat=mol:V3
RegDownstreamJmsPersistent=true
RegDownstreamJmsBrokerURL=tcp://activemq:61616
RegDownstreamJmsDestinationName=REGISTRATION.DS
ActiveMQ (JMS) Message Broker
An ActiveMQ broker is required for JMS messaging and an example ActiveMQ broker can be run using Docker on the same Docker network as the CompReg/DSClient with the following settings:
- Port 61616 — OpenWire protocol (JMS communication between CompReg, DSClient, and the broker)
- Port 8161 — Web management console (
http://localhost:8161, default credentials:admin/admin)
docker run -d --name activemq \
--network compreg-net \
-p 61616:61616 \
-p 8161:8161 \
-v ./activemq.xml:/opt/apache-activemq/conf/activemq.xml \
apache/activemq-classic:latest
In this example,
RegDownstreamJmsBrokerURL refers to container's IP address.A full activemq.xml configuration is available here
- Finalize the installation using the built-in wizard running on the docker instance
http://{compregDemo external IP}:8080
- Modify the CompReg environment configuration to include:
- Restart the CompReg instance
- Modify the CompReg environment configuration to include:
- Restart the CompReg instance
Step 2: Create Client Credentials in CompReg¶
1. Create DSClient User in CompReg
1. Access CompReg web UI at `http://{compregDemo external IP}:8080`
2. Navigate to **Administration** → **Users**
3. Create a new user — `DSUser`
4. Assign role in Groups: `REGISTRY_ADMINISTRATOR` or `SUPER`
1. Connect to the CompReg container and create authentication credentials:
# Connect to CompReg container
docker exec -it compregDemo bash
# Create client secret
/home/cxnapp/install/RegistryCxn/bin/RegistryCxn add-secret \
-client DSClient \
-secret YourClientSecret
!!! info "Authentication"
This configuration ensures that the DSClient will work with all popular authentication types supported by CompReg.
This data is stored in the ``clients`` table in CompReg database.
Step 3: Prepare Downstream Database¶
Create the downstream database schema to be used with the DSClient.
DSClient will automatically create the required tables on first startup.
Testing
A docker-based Postgres server with suitable preconfigured ds database can be created for testing using
SQLite is a file-based database that requires no server setup. Ensure the target directory exists and is writable:
Persistent data
A volume must be mounted in Docker in order for the SQLite database to be persistent.
Step 4: Configure DSClient¶
Create the dsclient.env configuration file for the DSClient.
Supported Databases Configuration Options¶
# License options
CHEMAXON_LICENSE_SERVER_KEY=lk_123456789............
CHEMAXON_LICENSE_SERVER_URL=https://license.chemaxon.com
# DSClient Home
REGISTRYCXN_DSCLIENT_HOME=/usr/local/tomcat
# Downstream Database Configuration
RegDSDBType=PostgreSQL
RegDSDBDriver=org.postgresql.Driver
RegDSDBUrl=jdbc:postgresql://dsclient-db:5432/ds
RegDSDBUser=DSDBUser
RegDSDBPass=YourDSDBPassword
RegDSDBMaxActive=30
RegDSDBValidationQuery=SELECT 1
# License options
CHEMAXON_LICENSE_SERVER_KEY=lk_123456789............
CHEMAXON_LICENSE_SERVER_URL=https://license.chemaxon.com
# DSClient Home
REGISTRYCXN_DSCLIENT_HOME=/usr/local/tomcat
# Downstream Database Configuration
RegDSDBType=Oracle
RegDSDBDriver=oracle.jdbc.OracleDriver
RegDSDBUrl=jdbc:oracle:thin:@//dsclient-db:1521/ORCL
RegDSDBUser=DSDBUser
RegDSDBPass=YourDSDBPassword
RegDSDBMaxActive=30
RegDSDBValidationQuery=SELECT 1 FROM DUAL
# License options
CHEMAXON_LICENSE_SERVER_KEY=lk_123456789............
CHEMAXON_LICENSE_SERVER_URL=https://license.chemaxon.com
# DSClient Home
REGISTRYCXN_DSCLIENT_HOME=/usr/local/tomcat
# Downstream Database Configuration
RegDSDBType=SQLite
RegDSDBDriver=org.sqlite.JDBC
RegDSDBUrl=jdbc:sqlite:/var/data/downstream.db
RegDSDBUser=
RegDSDBPass=
RegDSDBMaxActive=1
RegDSDBValidationQuery=SELECT 1
Communication Type Options¶
HTTP polling is the recommended communication method for new installations.
Step 5: Start DSClient¶
docker run -d \
--name dsclient \
--network compreg-net \
--env-file dsclient.env \
chemaxon.jfrog.io/cxn-professional-services-docker-release/registration_dsclient:26.2.1
Legacy License File
A local legacy license file can be used by mounting it in the appropriate user folder within the DSClient container.
Additional licensing information is available here
Step 6: Verify Installation¶
Check the DSClient logs for successful startup:
Expected Output
You should see one of the following messages:
No message to process- DSClient is running but no new registrationsSuccessfully finished job- DSClient successfully processed messages
Docker Compose Example¶
For a complete deployment, use Docker Compose:
version: '3.8'
services:
compreg-db:
image: postgres:15
environment:
POSTGRES_DB: reg
POSTGRES_USER: regsys
POSTGRES_PASSWORD: RegDBPassword
volumes:
- compreg-data:/var/lib/postgresql/data
downstream-db:
image: postgres:15
environment:
POSTGRES_DB: ds
POSTGRES_USER: dsdbuser
POSTGRES_PASSWORD: DSDBPassword
volumes:
- downstream-data:/var/lib/postgresql/data
compreg:
image: chemaxon.jfrog.io/cxn-docker-release/registration:25.3.1-2511111222
depends_on:
- compreg-db
environment:
RegDBType: PostgreSQL
RegDBDriver: org.postgresql.Driver
RegDBUrl: jdbc:postgresql://compreg-db:5432/reg
RegDBUser: regsys
RegDBPass: RegDBPassword
RegDBMaxActive: 30
RegDBValidationQuery: SELECT 1
RegDownstreamMode: Database
RegDownstreamPublishEnabled: "true"
RegDownstreamFusedImageFormat: mol:V3
CHEMAXON_LICENSE_URL: http://license-server/license.cxl
ports:
- "8080:8080"
dsclient:
image: chemaxon.jfrog.io/cxn-professional-services-docker-release/registration_dsclient:26.2.1
depends_on:
- compreg
- downstream-db
environment:
CHEMAXON_LICENSE_SERVER_KEY: ${CHEMAXON_LICENSE_SERVER_KEY}
CHEMAXON_LICENSE_SERVER_URL: ${CHEMAXON_LICENSE_SERVER_URL}
REGISTRYCXN_DSCLIENT_HOME: /usr/local/tomcat
RegDSDBType: PostgreSQL
RegDSDBDriver: org.postgresql.Driver
RegDSDBUrl: jdbc:postgresql://downstream-db:5432/ds
RegDSDBUser: dsdbuser
RegDSDBPass: DSDBPassword
RegDSDBMaxActive: 30
RegDSDBValidationQuery: SELECT 1
RegDSClientCommunicationType: HTTP
RegDsClientHttpCompregHost: http://compreg:8080
RegDsClientHttpCompregClientId: DSClient
RegDsClientHttpCompregClientSecret: YourClientSecret
RegDsClientHttpCompregUser: DSUser
RegDsClientHttpPaginationLimit: 100
RegDsClientHttpPollingFrequencySeconds: 10
volumes:
compreg-data:
downstream-data:
Legacy License File
A local legacy license file can be used by mounting it in the appropriate user folder within the DSClient container.
Additional licensing information is available here
Start all services: