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 as we wish to develop a modern platform on modern technologies.

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.

You don’t need 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

We recommend the Percona Server for MySQL 8.x, either native on the host or provided via Docker.

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

Messaging: sending text messages and links (without file upload); Low Code: creating plain-text records (without file upload).

5 MB/user/month

Medium volume

Messaging: sending text messages, links and occasionally sending documents and images; Low Code: attaching documents to records.

25 MB/user/month

High volume

Messaging: uploading large files daily; Low Code: attaching a high number of documents to records daily.

100 MB/user/month

Annual storage calculation:
  • 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 you are accessing external services via automation scripts, you should allow HTTP traffic.

Domain and hostname

The most common setup involves two domains — API and web app:
  • Hostname for Web application,

  • hostname for API server.

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 you use Nginx Reverse Proxy and LetsEncrypt companion container for nginx-prox.

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