Software Requirements - v2023.04
Software Requirements
Monofor server needs some software packages to work correctly. In the Monofor 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
Monofor Server required docker engine services listed in the below.
Docker engine packages can be install from official docker repositories. Please check this page 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
Monofor PoC environment doesn’t require external databases. Monosign PoC installer has local database container and it will install during the PoC installation.
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
Monosign 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 |
Monosync | monosync.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
Monosign has multiple web services, and every service has different functionality. Monosign uses secure communications, internal services and external integrations. Due to this, Monosign 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
Monosign application and services keep data on the database. Database server/service is the main component of the Monosign. Monosign 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
Monosign needs a database server. This database contains all Monosign 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 Monosign 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
monosyncdb – for Monosync Main Database
Database authentication type and permissions
monosigndb_user authentican method must be SQL Authentication
monosigndb_user has db_owner rights on the monosigndb, monosyncdb
New SQL Server Requirement
- If Monosign 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 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
monosyncdb – for Monosync Main Database
Database authentication type and permissions
monosigndb_user authentican method must be SQL Authentication
monosigndb_user has db_owner rights on the monosigndb, monosyncdb
PostgreSQL Server Requirements
Monosign needs a database server. This database contains all Monosign data and configurations.
Supported PostgreSQL Server Version
PostgreSQL | Monofor |
---|---|
PostgreSQL 13 | Supported |
PostgreSQL 14 | Supported |
PostgreSQL 15 | Supported |
Existing PostgreSQL Server Requirements
- If Monosign will be installed on an existing PostgreSQL Server
Specific database user
Example: monosigndb_user
Database to be created
monosigndb – for Monosign Main Database
monosyncdb – for Monosync Main Database
Database permissions
monosigndb_user has db_owner rights on the monosigndb, monosyncdb
New PostgreSQL Server Requirements
- If Monosign 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 |
Specific database user
Example: monosigndb_user
Database to be created
monosigndb – for Monosign Main Database
monosyncdb – for Monosync Main Database
Database permissions
monosigndb_user has db_owner rights on the monosigndb, monosyncdb
Disk Space Calculation
Monofor stores all data within the database. Therefore, it requires disk capacity on the database server. In the table below, you can see the necessary database amount suitable for the example user numbers.
The size of the Monosync database depends on various factors. These factors include the number of users, the number of user attributes, the number of integrations, and the frequency of integration executions. It is not possible to calculate an exact disk requirement based on these variables. Therefore, an approximate disk size can be determined.
In the example below, you can find calculations based on sample values for the number of users, user attributes, integrations, and integration execution frequency.
Example 1
Integration Count : 5
Attribute Count : 10
Integration Interval : Every 5 Min - 288 Times per day
1 Day DB Size : 0.239 GB
1 Month | 3 Months | 6 Months | 12 Months | |
---|---|---|---|---|
1000 User | 0.007 TB | 0.021 TB | 0.042 TB | 0.084 TB |
5000 User | 0.035 TB | 0.104 TB | 0.208 TB | 0.417 TB |
10000 User | 0.069 TB | 0.208 TB | 0.417 TB | 0.833 TB |
25000 User | 0.174 TB | 0.521 TB | 1.041 TB | 2.082 TB |
50000 User | 0.347 TB | 1.041 TB | 2.082 TB | 4.164 TB |
100000 User | 0.694 TB | 2.082 TB | 4.163 TB | 8.327 TB |
200000 User | 1.388 TB | 4.163 TB | 8.327 TB | 16.653 TB |
Example 2
Integration Count : 5
Attribute Count : 10
Integration Interval : Every 1 Min - 1440 Times per day
1 Day DB Size : 1.194 GB
1 Month | 3 Months | 6 Months | 12 Months | |
---|---|---|---|---|
1000 User | 0.035 TB | 0.105 TB | 0.210 TB | 0.420 TB |
5000 User | 0.174 TB | 0.521 TB | 1.042 TB | 2.085 TB |
10000 User | 0.347 TB | 1.042 TB | 2.083 TB | 4.167 TB |
25000 User | 0.868 TB | 2.603 TB | 5.205 TB | 10.411 TB |
50000 User | 1.735 TB | 5.205 TB | 10.409 TB | 20.819 TB |
100000 User | 3.470 TB | 10.409 TB | 20.817 TB | 41.635 TB |
200000 User | 6.939 TB | 20.817 TB | 41.633 TB | 83.267 TB |