Technical requirements
14 min
general information passwork is not resource demanding the amount of ram, cpu power and free disk space, as well as the number of servers you will need depend on the number of active users, the amount of stored data, and the system's fault tolerance requirements passwork consists of two elemetns an application server (web server + php) a database (mongodb) both can run on a single shared dedicated or virtual server you can use multiple servers if the application server and database should be placed on different servers to maintain security; data needs to be stored simultaneously on multiple servers; you need to ensure fault tolerance of the system additional recommendations the iops value is critical to the database operation speed, so we advise using ssd disks for linux with less than 4gb of ram we recommend enabling a 4gb swapfile passwork installation options for dedicated and virtual servers 1\ installing on a single server this option is suitable for editions of up to 500 users if there are no specific requirements for data storage number of users ram cpu hdd/ssd up to 50 4 gb or more 4 100 gb up to 100 6 gb or more 8 150 gb up to 500 12 gb or more 8 200 gb 2\ installing application and database on different servers in this case, the database and the application server are located on different servers application server requirements number of users ram cpu hdd/ssd up to 50 4 gb or more 4 100 gb up to 100 6 gb or more 8 100 gb up to 500 12 gb or more 8 100 gb up to 1000 16 gb or more 8 100 gb up to 10 000 32 gb or more 16 100 gb database server requirements number of users ram cpu hdd/ssd up to 50 2 4 gb 4 100 gb up to 100 4 gb 4 150 gb up to 500 8 16 gb 8 200 gb up to 1000 16 gb 8 200 gb up to 10 000 16 32 gb 16 200 gb 3\ multiple database servers mongodb database can operate in failover mode there are three main server roles in the replica set primary — the main server; secondary — secondary server in synchronisation mode; arbiter — a server that does not store data, but is involved in voting for the main node in case the primary server fails we recommend using full instances , as mongodb built in balancing mechanism works without an arbiter possible scenarios three or more servers three full fledged database servers (the master is selected during the voting process) in this scenario you can use the arbiter as an additional server, for example when you want to achieve predictable switching of primary nodes; three servers two full fledged database servers, one of which is selected as the primary, the other as the secondary and the third as the arbiter server the primary node is switched automatically if the current primary server goes down arbiter allows you to save resources as it is less demanding the minimum number of replica set members is three otherthise, if one of the nodes fails, it will go into read only mode and passwork will be unavailable technical requirements for the arbiter ram — 4 gb, cpu cores — 4, hdd/ssd — 100 gb high speed network connection to the rest of the database servers 4\ multiple application servers you can use several application servers as a group of multiple php fpm servers horizontally; traffic load balancer this will allow to automatically redirect requests to other servers if one of the servers goes down; improve application's performance when you have a lot of users (10 000 and more) storing backups and logs the storage space recommendations above do not take backups and logs into account we recommend storing database backups on separate servers or in specialized storage the size of an archived backup takes about 10% of the database itself you can estimate an actual database size (without attachments) using the following table number of users number password time of usage database size backup archive up to 100 1000 1 year 0 1 gb 10 mb up to 100 1000 2 year 0 5 gb 50 mb up to 100 1000 3 year 1 gb 0 1 gb up to 1 000 5000 1 year 1 gb 0 1 gb up to 1 000 5000 2 year 5 gb 0 5 gb up to 1 000 5000 3 year 10 gb 0 5 gb up to 10 000 10 000 1 year 10 gb 0 5 gb up to 10 000 10 000 2 year 50 gb 1 gb up to 10 000 10 000 3 year 100 gb 2 gb web browser support the client of passwork displays and functions correctly in the following web browsers and minimal versions web browser minimal version google chrome 110 and up microsoft edge 110 and up mozilla firefox 115 and up safari 16 0 and up opera 96 and up