How can we help you?
DMC production mode
Production mode system requirements
System requirements | Minimum configuration |
---|---|
Operating system |
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:
- 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.
- On the provisioned machine, ensure that the following ports are opened:
80
and443
. 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:
- Switch to postgres user and invoke PSQL with the following commands:
- Create a new database by running the following commands:
- Create your user and permissions by running the following commands:
- Configure your DMC DB:
- Get
PATH
topostgresql.conf
andpg_hba.conf
files by running the following commands: - Edit
pg_hba.conf
by adding the last line shown below. It is in the same location aspostgresql.conf
.
-bash-4.2$ sudo su - postgres
-bash-4.2$ psql
postgres=#
postgres=# create database <DMCDB_NAME>;
CREATE DATABASE
postgres=#
postgres-#
postgres=# create user dmcuser with
LOGIN
NOSUPERUSER
INHERIT
NOCREATEDB
NOCREATEROLE
NOREPLICATION
CONNECTION LIMIT -1
PASSWORD '<dmcuser_password>';
grant dmcuser to postgres;
# 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;
postgres=#
postgres=# SHOW config_file;
config_file
----------------------------------------
/var/lib/pgsql/12/data/postgresql.conf
(1 row)
- Reload the configuration by running the following commands:
- Edit
postgresql.conf
and add the following line:
-bash-4.2$ pg_ctl reload
listen_addresses = '*'
An example screenshot from a server
- Restart the postgreSQL service by running the following command:
- Test the connection to the database by running the following command:
-bash-4.2$ pg_ctl restart
psql --host=<HOSTNAME> --port=5432 --username=<DMC_USER> --password --dbname=<DB_NAME>
NEXT UP: Choose one of our Production mode installation methods.