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_PASSWORDin 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
|