Skip to main content
Version: 7.0

Technical requirements

Overview

Passwork is not resource-intensive. The amounts of RAM, disk space, and CPU power, as well as the required number of servers, depend on the number of active users, the volume of stored data, and system fault tolerance requirements.

Passwork consists of two elements:

  1. Application server (web server and PHP);
  2. Database;

The application server and database can run on the same server or on different virtual or physical servers if:

  • for security reasons, it is necessary to separate the application server and database onto different servers;
  • it is necessary to store data simultaneously on multiple servers;
  • a fault-tolerant solution is required.

Additional recommendations

  • The IOPS metric is very important for database performance, so we recommend using SSD drives.
  • For Linux with less than 4 GB of RAM, it is recommended to enable a swap file of 4 GB.

Passwork installation options

1. Single server installation

This option is suitable for editions up to 500 users without special data storage requirements:

Number of usersRAMCPUHDD/SSD
up to 504 GB or more4100 GB
up to 1006 GB or more8150 GB
up to 50012 GB or more8200 GB

2. Installation on separate servers

In this case, the database and application server are located on different servers.

Application server requirements:

Number of usersRAMCPUHDD/SSD
up to 504 GB or more4100 GB
up to 1006 GB or more8100 GB
up to 50012 GB or more8100 GB
up to 100016 GB or more8100 GB
up to 10,00032 GB or more16100 GB

Database server requirements:

Number of usersRAMCPUHDD/SSD
up to 502-4 GB4100 GB
up to 1004 GB4150 GB
up to 5008-16 GB8200 GB
up to 100016 GB8200 GB
up to 10,00016-32 GB16200 GB

3. Multiple database servers

The MongoDB database can operate in a fault-tolerant mode. Three main server roles are allocated in a replica set:

  1. Primary — main server;
  2. Secondary — secondary server in synchronization mode;
  3. Arbiter — a server that does not store data but participates in selecting the primary node in case of server failure.
info

We recommend using full instances, as MongoDB's built-in balancing mechanism works without an arbiter as well.

Possible implementation options

  1. Three or more servers: three full database servers (the primary is selected through voting). In this case, the arbiter can be used as an additional server, for example, when predictable primary node failover is needed;
  2. Three servers: two full database servers, one of which is selected as primary, the second as secondary (SECONDARY), and the third acts as an arbiter. The primary node switches automatically if the current primary server fails. The arbiter helps save resources as it is less demanding.
danger

The minimum number of replica set members is three. Otherwise, if one node fails, the replica set will switch to "read-only" mode, and Passwork will be unavailable.

Technical requirements for Arbiter

  • RAM — 4 GB, CPU — 4 cores, HDD/SSD — 100 GB;
  • High-speed network connection with other database servers.

4. Multiple application servers

You can use multiple application servers in a cluster consisting of:

  • several PHP-FPM servers (horizontal scaling);
  • a traffic load balancer.

This allows:

  1. Automatic redirecting of requests to other servers if one fails.
  2. Accelerated application performance with a large number of users (10,000 or more).

Backup and log storage

The disk volume recommendations below do not include backups and logs. We recommend storing database backups on separate servers or specialized storage.

An archived database backup occupies about 10% of the database size.

You can estimate the actual database size (excluding attachments) using the following table:

Number of usersNumber of passwordsTime in useDatabase sizeBackup archive
up to 10010001 year0.1 GB10 MB
up to 10010002 years0.5 GB50 MB
up to 10010003 years1 GB0.1 GB
up to 100050001 year1 GB0.1 GB
up to 100050002 years5 GB0.5 GB
up to 100050003 years10 GB0.5 GB
up to 10,00010,0001 year10 GB0.5 GB
up to 10,00010,0002 years50 GB1 GB
up to 10,00010,0003 years100 GB2 GB

Supported web browsers

info

The Passwork client side is correctly displayed and functions in the following web browsers and minimum versions.

Web browserMinimum version
Google Chrome110 and above
Microsoft Edge110 and above
Mozilla Firefox115 and above
Safari16.0 and above
Opera96 and above