DMC production mode

Production mode system requirements

System requirements Minimum configuration
Operating system

RHEL 7 or 8 or CentOS 7 or 8

Note: To use RHEL 8 or CentOS 8, upgrade to DMC 7.16 or later versions.

CPU 4 vCPU
Memory 16 GB of RAM
Disk space 40 GB
Database

PostgreSQL 12, 13, 14, 15, or 16 (Community or AWS RDS)

Open ports 80, 443, and 8080

Calculating external PostgreSQL DB requirements

Administrators can use this requirements section as a guide to evaluate your server hardware requirements. Because server load is difficult to predict, live testing is the best way to determine what hardware the DMC will require in production.

Database server requirements

System requirements Minimum configuration Recommended configuration
PostgresSQL Version

PostgreSQL 12, 13, 14, 15, or 16 (Community or AWS RDS)

PostgreSQL 12, 13, 14, 15, or 16 (Community or AWS RDS)

CPU 2 vCPU 4 vCPU
Memory 8 GB 16 GB

Database storage requirements

Steps or database definitions managed Forecast & deploy operations per year (Including deploy packager) Total changeSets across all projects Minimum database storage capacity
50 1000 5000 10 GB
50 500 10000 15 GB
100 2000 10000

30 GB

100 1000 25000 60 GB
250 5000 25000 150 GB
250 2500 50000 300 GB
500 10000 50000 600 GB
500 5000 100000 1.5 TB

Pre-install requirements

Aside from a PostgreSQL 12, 13, 14, or 15 database or AWS RDS, the DMC also requires the following:

  1. A non-root user with sudo access.

User and group setup example

sudo useradd -m datical
sudo passwd datical
sudo usermod -aG wheel datical

In this example, the wheel group has sudo access, so datical is just added to that group. Depending on your site's sudo policies, you may need to add your username to a different group or add it directly to /etc/sudoers.

Tip: Create a new user or add an existing user to a group on your own before starting the installation as the installation scripts and installers do not create them for you.

  1. On the provisioned machine, ensure that the following ports are opened: 80 and 443. Also, ensure no other applications are using the ports on the local system.

Note: 80 and 443 are internal and external ports for a production mode. Internal and external ports for PostgreSQL depend on your PostgreSQL database.

PostgreSQL database setup

To set up your PostgreSQL database, login to the postgreSQL server and perform the following steps:

  1. Switch to postgres user and invoke PSQL with the following commands:
  2. -bash-4.2$ sudo su - postgres
    -bash-4.2$ psql
  3. Create a new database by running the following commands:
  4. postgres=# 
    postgres=# create database <DMCDB_NAME>;
    CREATE DATABASE
    postgres=#
    postgres-#
  5. Create your user and permissions by running the following commands:
  6. postgres=# create user dmcuser with
    LOGIN
    NOSUPERUSER
    INHERIT
    NOCREATEDB
    NOCREATEROLE
    NOREPLICATION
    CONNECTION LIMIT -1
    PASSWORD '<dmcuser_password>';
    grant dmcuser to postgres;
  7. Configure your DMC DB:
  8. # Connect to your database as postgres
    sudo su - postgres
    psql <DB_NAME>
    GRANT CREATE, CONNECT, TEMPORARY ON DATABASE <DB_NAME> TO dmcuser WITH GRANT OPTION;
    create schema datical;
    alter schema datical owner to dmcuser;
    ALTER ROLE dmcuser IN DATABASE <DB_NAME> SET search_path TO datical;
  9. Get PATH to postgresql.conf and pg_hba.conf files by running the following commands:
  10. postgres=# 
    postgres=# SHOW config_file;
    config_file               
    ----------------------------------------
    /var/lib/pgsql/12/data/postgresql.conf
    (1 row)
  11. Edit pg_hba.conf by adding the last line shown below. It is in the same location as postgresql.conf.

image of the pg_hba.conf in postgresql

  1. Reload the configuration by running the following commands:
  2. -bash-4.2$ pg_ctl reload
  3. Edit postgresql.conf and add the following line:
  4. listen_addresses = '*'

Image of the postgreSQL database connections and authentication settings

An example screenshot from a server

  1. Restart the postgreSQL service by running the following command:
  2. -bash-4.2$ pg_ctl restart
  3. Test the connection to the database by running the following command:
  4. psql --host=<HOSTNAME> --port=5432 --username=<DMC_USER> --password --dbname=<DB_NAME>

NEXT UP: Choose one of our Production mode installation methods.

Related links