Marvin with CLI

    Chemaxon public repository

    For general information on accessing Chemaxon's public repository at https://chemaxon.jfrog.io/, refer to the repository guide.

    Acquire credentials

    To obtain credentials for the Chemaxon public repository, follow the steps in this guide. The generated personal identity token can be reused in the steps below.

    Marvin with npm

    Marvin's frontend is distributed as an npm package, available at the public registry: https://chemaxon.jfrog.io/artifactory/npm/.

    Set Up credentials

    Use the identity token from the previous step as your npm authentication token. Add the following to your .npmrc file:

    email = <your email>
    always-auth = true
    registry=https://chemaxon.jfrog.io/artifactory/api/npm/npm/
    //chemaxon.jfrog.io/artifactory/api/npm/npm/:_authToken=<your indentity token>

    Alternatively, you can log in using the npm CLI:

    npm login --registry=https://chemaxon.jfrog.io/artifactory/api/npm/npm/ --auth-type=web

    For a detailed guide on configuring the npm client with Chemaxon's registry, visit this direct link to jfrog (login required via Chemaxon OKTA), click Set Me Up in the top-right corner, and follow the instructions.

    Scoped packages

    To limit Chemaxon's registry usage to only @chemaxon-scoped packages, use the following in your .npmrc:

    @chemaxon:registry=https://chemaxon.jfrog.io/artifactory/api/npm/npm/
    //chemaxon.jfrog.io/artifactory/api/npm/npm/:_authToken=<your identity token>
    //chemaxon.jfrog.io/artifactory/api/npm/npm/:email=<your email>
    //chemaxon.jfrog.io/artifactory/api/npm/npm/:always-auth=true

    Install Marvin through NPM

    Once credentials are configured, install Marvin and example components:

    npm install @chemaxon/marvin
    nmp install @chemaxon/marvin-examples

    Framework-specific integration

    Marvin is a precompiled React component and can be integrated with various frontend frameworks. Examples are available in our public GitHub repository:

    Marvin with Docker

    The marvinws docker image can be found in registry chemaxon.jfrog.io under in the repository cxn-docker-release/chemaxon/. The image contains the Marvin Web Services and the Marvin frontend as well. It is built on Temurin JDK, with a default user cxnapp, and default entry point /app/marvinws/run-marvinws.

    Setup credentials

    Use the identity token from the previous step as your Docker credential.

    To log in:

    docker login chemaxon.jfrog.io

    Use your email and the identity token when prompted.

    Alternatively, navigate to this link, click Set Me Up, and follow the instructions.

    Quickstart with docker

    1. Login to the registry. See the previous step.
    2. Pull the latest image
      docker pull chemaxon.jfrog.io/cxn-docker-release/chemaxon/marvinws:latest
    3. Run the image
      1. Map the default port 8080 to one of the hosts' ports (e.g. -p 8080:8080)
      2. Map the license file or license settings as an external resource ( for details, see below).
        -v path/to/license-file:/home/cxnapp/.chemaxon/license.cxl

        or

        -v path/to/license-key-config:/home/cxnapp/.chemaxon/license-manager.cxl
      3. Full run command
        docker run --name marvin -d -v /home/user/license.cxl:/home/cxnapp/.chemaxon/license.cxl -p 8080:8080 chemaxon.jfrog.io/cxn-docker-release/chemaxon/marvinws
    4. Verify that the docker container is up and running
      docker logs marvin
    5. You can access the running editor at http://localhost:8080.

    Alternative ways to pass license to the docker container

    • set an environment variable with -e CHEMAXON_LICENSE_SERVER_KEY=<license-key>
    • pass a JVM parameter -Dchemaxon.license.serve.key=<license-key>
    • map the Chemaxon home directory (.chemaxon) or the license/configuration file (see above)
    • use Docker secrets