System Requirements
Supported Clients
Corteza doesn’t support older browsers. If you wish to do so, you may build your own Docker containers with custom build procedures. |
Client | Version |
---|---|
Chrome |
v78+ |
Firefox |
v68+ |
Safari |
v12+ |
Edge |
v44+ |
iOS |
iPhone 5s devices and later with iOS 12+ |
Android |
Android 7+ |
Server Operating System
Any Docker-compatible operating system is supported.
We recommend a Linux-based operating system, preferably Ubuntu LTS. |
HTTP Server
You should place the API and the web applications behind a firewall or an HTTP reverse proxy. The reverse proxy is responsible for traffic forwarding to Corteza services and SSL termination.
Most of the popular HTTP servers support this. |
The documentation provides configurations guides for Nginx Reverse Proxy and the LetsEncrypt nginx-proxy companion.
It isn’t obligatory to use Nginx; you can use the HTTP server you are most familiar with. Use provided examples for Nginx as a reference on how to configure it. |
Database
It is recommended to use the PostgreSQL 13, either native on the host or provided via Docker.
Corteza also supports MySQL for which we recommend Percona Server for MySQL 8.x. |
Hardware
Number of Users |
Processor |
Memory |
1 - 500 |
1 vCPU/cores |
2 GB RAM |
500 - 1000 |
2 vCPU/cores |
4 GB RAM |
1000 - 2000 |
4 vCPU/cores |
8 GB RAM |
2000 - 5000 |
8 vCPU/cores |
16 GB RAM |
5000+ |
16 vCPU/cores |
32 GB RAM |
Storage
Volume | Description | Recommended Storage |
---|---|---|
|
Low Code: creating plain-text records (without file upload). |
5 MB/user/month |
|
Low Code: attaching documents to records. |
25 MB/user/month |
|
Low Code: attaching a high number of documents to records daily. |
100 MB/user/month |
-
Base storage (operating system and core components) of 10 GB,
-
recommended storage per user per month based on the matrix above (multiplied by 12 to get the yearly amount),
-
average number of users in a year,
-
apply a safety factor; we recommend at least 2.0.
total = (nr. of users * recommended storage * 12 * safety factor) + base storage
Recommended storage = (30 * 25 MB * 12 * 2) + 10 GB = 28 GB / year
Network
Depending on your configuration, Corteza may need some access to outside services.
If you intend to use any email communication; such as sending confirmation emails, password reset emails, or sending emails from automation scripts; you must configure your SMTP servers to be accessible.
If you enable federation, the nodes (Corteza instances) must be visible and allow traffic between them on the designated HTTP ports.
If you enable OAuth2 or OIDC sign-up or access external services via automation scripts, you should allow HTTP traffic.
Domain and Hostname
For the most common and effortless setup, we recommend using a Corteza docker image that contains web applications and an API server (all-in-one), and both are served from the same domain.
Alternatively, if needed, the setup could be split into two; the web application and the API server would be hosted separately.
If you decide on a split setup, Corteza does not require different domains for its services.
You can use different hosts or subdomains and point them to each service.
To exemplify; you can use |
HTTPS/SSL Certificates
Corteza supports any SSL certificate from all certificate authorities (CA). You can use any existing or new SSL certificate from any commercial SSL certificate provider or self-signed.
We use Let’s Encrypt.
If you aren’t using any other HTTP server, we highly recommend using the use of Nginx Reverse Proxy and LetsEncrypt companion container for nginx-prox. It is an automated and the simplest way to secure Corteza or any other web application you host. |