Installing CapStorm/Container with Docker Desktop

To install the CapStorm/Container, you will need to have a container host ready to run the container.

This installation guide provides an example installation path using the Docker Desktop application.

Note: To install the container using Docker Compose (CLI), please refer to CapStorm’s docker hub for an example.

Prerequisites

  • A Host For the Docker Container
  • A CapStorm Customer Key GUID
    • The CapStorm team will provide you with a unique Customer Key associated with your account. This key provides access to your entitled features. The CapStorm customer key will take the following form:
      • XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
  • Valid database connection details to a MySQL, PostgreSQL, or SQL Server database
    • The CapStorm Platform database user is expected to have the following Database Permissions
      • CONNECT
        • Used to establish remote connections to the target database
      • CREATE DATABASE
        • Used to provision databases containing Salesforce Backups
      • DROP DATABASE
        • Used to deprecate legacy Salesforce Backup databases
      • For the Salesforce Backup databases, The CapStorm Platform user is expected to have:
        • INSERT
        • DELETE
        • UPDATE
        • CREATE / ALTER TABLE privileges
          • Used to mirror & maintain changes in Salesforce data model
    • The database can be hosted in a container, or in any major RDBMS hosting platform (e.g. AWS, Azure, GCP, or on-premises)

Prerequisites – Salesforce Authenticator

If your organization wishes to use Salesforce as an Authenticator for CapStorm/Container, be sure to follow our guide for Setting Up Salesforce for Authentication

1: Pull the latest image

Pull the latest image from the capstorm/capstorm docker repository

  • This can be accomplished by searching for the capstorm/capstorm image in Docker Desktop and clicking Pull. Note that the latest GA release of the CapStorm/Container will have the tag latest.

2: Launch the container

  1. In Docker Desktop, navigate to Images
  2. Click the Play Icon to queue up the container launch
  3. Before clicking the Run button, expand optional settings. You’ll see the following screen:
    • Use this screen to provide:
      • A name for the container
      • Host port mappings for ports 8080 and 8443
      • Environment Variables mentioned below
  4. Provide Environment Variables for Container Initialization
    • Note: Required Environment Variables are BOLDED.
    • Note: Required Salesforce Authenticator Environment Variables are ITALICIZED.
Capstorm-platform environment variable Description
DB_CONNECTION_STRING The connection string to the target database. This database will be used as the backing store for container configuration.
DB_USERNAME The Database User for the CapStorm container database.
DB_PASSWORD The Database Password for the CapStorm container database user.
CUSTOMER_KEY CapStorm Customer Key. Provided by CapStorm team members.
ADMIN_PASSWORD
Default CapStorm/Container administrator password. This parameter can be used to initialize the password for the ‘admin’ user – if the admin user is already initialized this parameter has no effect.
EXTERNAL_AUTHENTICATOR A name for the Salesforce OIDC External Authenticator – usually “Salesforce”.
OIDC_ISSUER_URL Provide the complete URL of your Salesforce instance for user authentication.
OIDC_ADMIN_USERNAME Provide the Salesforce username that will be granted administrator permissions for the CapStorm platform app.
OIDC_CLIENT_ID CONSUMER_KEY value obtained in Prerequisite – Salesforce Authenticator step.
OIDC_CLIENT_SECRET CONSUMER_SECRET value obtained in Prerequisite – Salesforce Authenticator step.

After providing all previously mentioned environment variables, the image is ready to launch. Click the Run button to start the container.

The screenshot below is an example of an image launch:

3: Wait 5 minutes for the container initialization process.

Note: The container bootstrapping process is completed once you see the following message in the Container Logs:

CopyStormDirector is waiting for 0 jobs to complete.

Note: The following message will be displayed in the Container Logs if there are issues establishing a connection with the Database:

Exception in thread “main” java.lang.Exception: Cannot connect to database.

at com.capstorm.platform.configuration.webconfig.a.b(SourceFile:260)
at com.capstorm.platform.environmentinitializer.EnvironmentInitializer.c(SourceFile:175)
at com.capstorm.platform.environmentinitializer.EnvironmentInitializer.b(SourceFile:415)
at com.capstorm.platform.environmentinitializer.EnvironmentInitializer.main(SourceFile:441)

Note: The following message will be displayed if there were any issues bootstrapping the CapStorm/Container:

Error running scheduled CopyStorm/Director jobs

4: Navigate to the CapStorm/Container Web Application

  1. In a Web Browser, navigate to https://localhost:8080
  2. You will see the following screen:
  3. Login with the following administrator credentials
    1. Username: admin
    2. Password: Value of ADMIN_PASSWORD environment variable from Step (2)
  4. Upon successful login, you’ll see the CapStorm/Container Web UI:

5: Start using the CapStorm Container!

Please refer to the Reference Documentation for the CapStorm/Container and core CapStorm Applications: