Connection to an external database

ADCM supports operations with external databases. In particular, PostgreSQL databases are supported.

IMPORTANT
If you need to run your database in high availability mode, you should configure it yourself.

The prerequisites to use the external PostgreSQL database are:

  • The user, the database, and the user password must be created (DATABASE_USERNAME, DATABASE_NAME, DATABASE_USER_PASSWORD in the example below).

  • The user must be the owner of the external PostgreSQL database.

CREATE USER <DATABASE_USERNAME> with encrypted password '<DATABASE_USER_PASSWORD>';
CREATE DATABASE <DATABASE_NAME> OWNER <DATABASE_USERNAME>;

Example of running ADCM with the PostgreSQL database:

$ sudo docker run -d \
    --restart=always \
    --name adcm \
    -p 8000:8000 \
    -v adcm-data:/adcm/data \
    -e DB_HOST="10.92.40.190" \
    -e DB_PORT="5432" \
    -e DB_USER="admin" \
    -e DB_NAME="postgres" \
    -e DB_PASS="admin" \
    -e DB_OPTIONS="<DATABASE_OPTIONS>" \
    hub.arenadata.io/adcm/adcm:<version>

where <version> is the desired ADCM image version in one of the following formats:

  • <major>.<minor>.<patch> — if you need a specific ADCM patch. For example, 2.0.0.

  • <major>.<minor> — if you need the last patch within the selected ADCM version. For example, 2.0.

You can use DB_OPTIONS to establish an SSL connection to the database. For more information about the parameters available for the DB_OPTIONS variable, see the Installation article.

Prepare the SSL certificate and secret key files and place them into <data_volume>/conf/ssl/. Then, list the DB_OPTIONS parameters in JSON format:

DB_OPTIONS='{"sslmode": "verify-full", "sslcert": "/adcm/data/conf/ssl/client.crt", "sslkey": "/adcm/data/conf/ssl/client.key", "sslrootcert": "/adcm/data/conf/ssl/server.crt"}'
IMPORTANT
  • latest was used for earlier versions of ADCM and is no longer supported starting from version 2.0.0.

  • Before ADCM 2.0.0, the following format was used for versioning: YYYY.MM.DD.HH.

Found a mistake? Seleсt text and press Ctrl+Enter to report it