Skip to content

Install

Levin Alexey edited this page Apr 25, 2026 · 61 revisions

Home

Install/Upgrade drm-cli

The drm-cli can be installed via npm (recommended) or by cloning the repository directly.

Content

Prerequisites

The drm-cli installer is a python script project.
Hence, python must be installed in advanced on the drm-cli installer host.

For AI features (v1.2+): Node.js >= 16 is also required.

npm install (recommended)

Starting from v1.2.0, drm-cli is available as an npm package.

npm install -g @d-band-drm/drm-cli

Then run the setup to install DRM:

drm-cli install -f /path/to/install -d sqlite -p mykey

Or with the npm setup script:

npm run setup -- -f /path/to/install -d sqlite -p mykey

Note: Python >= 3.10 must be installed on the host before running drm-cli install.

Each database deployment includes:

  • "Database Changes Manager": Manages database changes - Solution type
  • "Utility": Executes database changes.

SQL Server [#drm-cli v1.0]

  • Database Changes Manager

    • SqlPackage
      • To check the version of SqlPackage, run:
        SqlPackage.exe /Version
        dotnet sqlpackage --version
      • Supported from version: 16.x
      • 📦 Download: Latest version of SqlPackage
  • Utility

    • sqlcmd
      • To check the version of sqlcmd, run:
        sqlcmd -v
      • Supported from version: 15.x
      • 📦 Download: Latest version of sqlcmd

PostgreSQL [#drm-cli v1.1]

  • Database Changes Manager

    • Liquibase

      • To check the version of Liquibase, run:
        liquibase --version
      • Supported from version: 4.13.x
      • 📦 Download: Latest version of Liquibase
    • Flyway

      • To check the version of Flyway, run:
        flyway --version
      • Supported from version: Flyway Teams Edition 11.x by Redgate
      • 📦 Download: Latest version of Flyway
  • Utility

    • psql
      • To check the version of psql, run:
        psql --version
      • Supported from version: psql 14.x
      • 📦 Download: Latest version of psql

Download

To download, clone the latest version of the drm-cli repository

git clone https://github.com/dband-drm/drm-cli.git

Install/Upgrade

To run the installer, run script install.py

python3 ./install.py

The installer supports a full interactive mode, guiding you step by step how & where to install it.
Nevertheless, the installer comes with parameters option, allowing you to avoid interactive mode and run as a single command.
This provides you the ability to automate the installation, if it's desired.
For instance, inline options are used in pipeline executions.

install parameters options

To see all optional parameters, use the -help option.

python3 ./install.py -help
  • Installation path (-f, -install_path)
    The directory, where the drm-cli is going to be installed in.
    Left empty in interactive mode will implicitly select the user default home directory. In interactive mode, a request message is prompted:

Enter path to install the DRM on:

  • Encryption key (-p, -encryption_key)
    Sensitive data, such as connection strings can be securely encrypted.
    Left empty in interactive mode or none in parameter option means not encrypted.
    In interactive mode, a request message is prompted:

Enter encryption key (Default, empty is not encrypted):

Note!!! Not encrypted installation will require verification as it exposes security risks of sensitive data.
In interactive mode, a request message is prompted:

Are you sure you want to keep sensitive Data as clear text? Enter [Y]/N to keep unsecured Data:

Encryption policy:

  • Minimum 8 characters.
  • The alphabet must be between [a-z].
  • At least one alphabet should be of Upper Case [A-Z].
  • At least 1 number or digit between [0-9].
  • At least 1 special character such as !@#...

Note!!! The drm-cli itself is not encrypted, except sensitive data.
Hence, if multiple user account can access the drm-cli host, it's best advise not to install it in a shared location.

  • Installation type (Relevant only to scratch installation) (-d, -install_type)
    The drm-cli supports two types of installation kinds: [JSON]/SQLite (not case sensitive).
    In interactive mode, a request message is prompted:

Enter DRM installation type([JSON]/SQLite):



Installation verification

INFO - ==================================
INFO - Installing DRM...
INFO - Copying DRM content...
INFO - Content copied successfully!!!
INFO - Creating DRM database...
INFO - DRM database created successfully!!!
INFO - Creating drm.config...
INFO - drm.config created successfully!!!
INFO - DRM installation finished successfully!!!
INFO - ==================================

That's it! it's simple as that :)

Examples

Full interactive mode installation

python3 ./install.py

In the following example, no optional parameter option is provided.

Inline JSON installation type, not secured, installed in the user default home directory

python3 ./install.py -d json -p none

In the following example, a JSON installation type is selected, while "none" encryption key represents not encrypted.
Since installation directory (-f) is not provided, implicitly the user default home directory is selected.

Videos

All videos

Next steps

Home

Clone this wiki locally