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 |
Upcoming Java Upgrade
Version 25.3.0 is the last version of the DSClient which will support Java 17. The next releases will require at least Java 21.
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¶
# 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
# 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
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:25.3.0-202511070832
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:25.3.0-202511070832
depends_on:
- compreg
- downstream-db
environment:
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:
Start all services: