Product : Monopam
Version : v2025.05
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-cedocker-ce-clicontainerd.iodocker-buildx-plugindocker-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_COLLATEandLC_CTYPE) must be en_US.UTF-8Specific 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_COLLATEandLC_CTYPE) must be en_US.UTF-8Specific 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.