You are reading the documentation for an outdated Corteza release. 2023.9 is the latest stable Corteza release.

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.

Table 1. Corteza supports the following clients:
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.

Docker

The minimum Docker Engine version is 1.12.x

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

Table 2. Estimated storage per user per month:
Volume Description Recommended Storage

Low volume

Low Code: creating plain-text records (without file upload).

5 MB/user/month

Medium volume

Low Code: attaching documents to records.

25 MB/user/month

High volume

Low Code: attaching a high number of documents to records daily.

100 MB/user/month

For the annual storage calculation you will need:
  • 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.

The formula:
total = (nr. of users * recommended storage * 12 * safety factor) + base storage
Example calculation for 30 medium usage users:
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

The most common way to set up your Corteza instance is hosting the web application and the API server on one domain and providing a hostname for each;

  • Hostname for Web application,

  • hostname for API server.

Alternatively, if needed, the setup could be split into two and host the web application and the API server separately. This would require you to have two domains.

If you already own a domain, you can add two or more hosts and use them to access your Corteza instance.

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-proxy.

It is an automated and the simplest way to secure Corteza or any other web application you host.