Help

Installation Guide

Software Requirements - v2023.04

Updated 9 Nov 2026 6 min read

Software Requirements

Monopam server needs some software packages to work correctly. In the Monopam Server environment, required software packages and docker engine services must be installed or can be installed during the installation on the Linux server.

Operating System Packages

For Ubuntu/Debian

apt-get install -y build-essential traceroute ethtool dnsutils \
open-vm-tools net-tools tcpdump apt-transport-https ca-certificates \
curl software-properties-common unzip gnupg jq bash-completion netcat bc

For Redhat/Centos/Rocky

  • YUM Package Manager

yum install -y yum-utils traceroute ethtool open-vm-tools net-tools bind-utils \
epel-release net-tools tcpdump ca-certificates curl unzip gnupg2 jq \
bash-completion netcat bc
  • DNF Package Manager

dnf install -y yum-utils traceroute ethtool open-vm-tools net-tools bind-utils \
epel-release net-tools tcpdump ca-certificates curl unzip gnupg2 jq \
bash-completion netcat bc
  • Bash Completion

curl https://raw.githubusercontent.com/docker/docker-ce/master/components/cli/contrib/completion/bash/docker -o /etc/bash_completion.d/docker.sh

Docker Packages

Monopam Server required docker engine services listed in the below.

Docker engine packages can be install from official docker repositories. Please check this page (opens in a new tab) to install correct version for your Linux Server distros.

Docker engine packages list:

  • docker-ce

  • docker-ce-cli

  • containerd.io

  • docker-buildx-plugin

  • docker-compose-plugin

Operating System Firewall

Operating System firewall must be disabled.

Red Hat/Centos

systemctl disable firewall

system stop firewall

Debian/Ubuntu

systemctl disable ufw

systemctl stop ufw

DNS Requirements

Monopam application and services need domain names on the internal and external DNS system. In the table below, required domain names defined. These are the default values of the DNS names. However, if needed they can change to any values.

Application

DNS Name

Type

Account

monosign-account.domainname

Internal and External*

Management

monosign-mng.domainname

Internal

API

monosign-api.domainname

Internal

Monopam

monopam.domainname

Internal

Monopam-CDN

monopam-cdn.domainname

Internal

Monopam-CDN-Console

monopam-cdn-con.domainname

Internal

Monopam-GW - Pointing Monopam Gateway Server(Windows Server)

monopamgw01.domainname

Internal

If the Monosign Authenticator Push Service wants to be used via the internet, the Account application must be published on the internet. For this access, monosign-account.domain.com domain name must be configured on the external DNS system, and firewall ports must be opened. For firewall requirements, you can check this page.

Timezone and the NTP configuration

Linux server timezone and the NTP configuration must be done on the Linux server.

It can be check with the below link

timedatectl

SSL Certificate Requirements

Monopam has multiple web services, and every service has different functionality. Monopam uses secure communications, internal services and external integrations. Due to this, Monopam services need a wildcard SSL certificate to work properly.

SSL Certificate Options

- Public certificate must be signed by one of Global Certificate Authorities
- Public certificate format must be base64 encoded CRT format
- Public certificate contains full chain certificate like root CA, and intermediate CA.
- Private key should not be exported password protected
- Private key format must be RSA format

During the installation, a self-signed certificate is generated by the installer. If wanted to use custom certificate it can be install later.

Database Requirements

Monopam application and services keep data on the database. Database server/service is the main component of the Monopam. Monopam has supported two types of database server/service, one of them must be chosen.

  • Microsoft SQL Server

  • PostgreSQL Server

All details are described below.

Microsoft SQL Server

Monopam needs a database server. This database contains all Monopam data and configurations.

Supported Microsoft Database Servers

SQL Server

Monofor

SQL Server 2016 - Standard, Enterprise Edition

Supported

SQL Server 2017 - Standard, Enterprise Edition

Supported

SQL Server 2019 - Standard, Enterprise Edition

Supported

Microsoft SQL Server Express Edition not supported.

Existing SQL Server Requirement

  • If Monopam will be installed on an existing Microsoft SQL Server
  • SQL Server collation must be chosen SQL_Latin1_General_CP1_CI_AS

  • Specific database user

    • Example: monosigndb_user

  • Database to be created

    • monosigndb – for Monosign Main Database

    • monopamdb - for Monopam Main Database

  • Database authentication type and permissions

    • monosigndb_user authentican method must be SQL Authentication

    • monosigndb_user has db_owner rights on the monosigndb and monopamdb

New SQL Server Requirement

  • If Monopam will be installed on a New Microsoft SQL Server Instance
Hardware Requirement

Minimum

Recommended

CPU

8 Core

8 Core

Memory

16 GB

24 GB

Disk

200 GB

400 GB

  • SQL Service port must be open on the SQL Server

  • SQL Server collation must be chosen SQL_Latin1_General_CP1_CI_AS

  • Specific database user

    • Example: monosigndb_user

  • Database to be created

    • monosigndb – for Monosign Main Database

    • monopamdb - for Monopam Main Database

  • Database authentication type and permissions

    • monosigndb_user authentican method must be SQL Authentication

    • monosigndb_user has db_owner rights on the monosigndb and monopamdb

PostgreSQL Server Requirements

Monopam needs a database server. This database contains all Monopam data and configurations.

Supported PostgreSQL Server Version

PostgreSQL

Monofor

PostgreSQL 13

Supported

PostgreSQL 14

Supported

PostgreSQL 15

Supported

Existing PostgreSQL Server Requirements

  • If Monopam will be installed on an existing PostgreSQL Server
  • Database encoding must be UTF8, and the locale (LC_COLLATE and LC_CTYPE) must be en_US.UTF-8

  • Specific database user

    • Example: monosigndb_user

  • Database to be created

    • monosigndb – for Monosign Main Database

    • monopamdb - for Monopam Main Database

  • Database permissions

    • monosigndb_user is the owner of the monosigndb and monopamdb

New PostgreSQL Server Requirements

  • If Monopam will be installed on a New PostgreSQL Server Instance
Hardware Requirement

Minimum

Recommended

CPU

8 Core

8 Core

Memory

16 GB

24 GB

Disk

200 GB

400 GB

  • Database encoding must be UTF8, and the locale (LC_COLLATE and LC_CTYPE) must be en_US.UTF-8

  • Specific database user

    • Example: monosigndb_user

  • Database to be created

    • monosigndb – for Monosign Main Database

    • monopamdb - for Monopam Main Database

  • Database permissions

    • monosigndb_user is the owner of the monosigndb and monopamdb

PostgreSQL encoding and locale

PostgreSQL has no setting with the same name as the SQL Server collation SQL_Latin1_General_CP1_CI_AS. Its equivalent is the UTF8 encoding with the en_US.UTF-8 locale. Monopam performs case-insensitive searches itself, and these follow the locale of the database.

Use en_US.UTF-8 whatever the language or country of your users, and do not choose the locale of a local language (for example de_DE.UTF-8, fr_FR.UTF-8 or tr_TR.UTF-8, or an ICU locale such as tr-TR). A language locale changes how upper and lower case letters are matched and how text is sorted. In some languages this breaks case-insensitive search: with a Turkish or Azerbaijani locale, where I and i are different letters, a search for admin does not find ADMIN. Data in any language is stored correctly with en_US.UTF-8, because the encoding is UTF8.

Create the databases with these settings:

CREATE DATABASE monosigndb
  OWNER monosigndb_user
  ENCODING 'UTF8'
  LC_COLLATE 'en_US.UTF-8'
  LC_CTYPE 'en_US.UTF-8'
  TEMPLATE template0;

CREATE DATABASE monopamdb
  OWNER monosigndb_user
  ENCODING 'UTF8'
  LC_COLLATE 'en_US.UTF-8'
  LC_CTYPE 'en_US.UTF-8'
  TEMPLATE template0;

Check the settings of the databases:

SELECT datname, pg_encoding_to_char(encoding) AS encoding, datcollate, datctype
FROM pg_database
WHERE datname IN ('monosigndb', 'monopamdb');

The encoding column must show UTF8, and datcollate and datctype must show en_US.UTF-8 (shown as en_US.utf8 on some systems). The locale must be installed on the database server (locale -a). The locale of a database cannot be changed after it is created: a database created with another locale must be backed up with pg_dump and restored into a new database created as above.

Permanent link