Roles Description and Installation

Roles Description and Installation#

Please review carefully this sections before attempting to install Carbonio on a Single-Server or on a Multi-Node infrastructure.

Carbonio is made of Roles#

A Carbonio infrastructure is created with the installation of some Roles.

A Role is a Carbonio functionality that is considered atomic and consists of one or more packages.

The modular nature of Carbonio

As we will see, it’s possible to install a single role on a dedicated node or group multiple roles according to affinity rules.

Although this is not a suggested or supported scenario, it would be technically possible to install almost all Carbonio Roles on a single virtual machine.

The possibility of installation by roles allows you to design architectures that precisely correspond to the requirements and purposes of your infrastructure.

The roles of Carbonio#

We can group the available Carbonio Roles into 3 macro categories:

  • Infrastructure Roles, which are mandatory in any Carbonio installation

  • Service Roles broaden the functionality provided by Carbonio

This is the list of roles that make up a Carbonio installation.

Note

Postgres, Pgpool, Grafana, Zookeper, and Kafka are third-party software that are installed from their respective official repositories.

Mesh and Directory

Type of Role: Infrastructure

Packages:

  • service-discover-server

  • carbonio-directory-server

  • carbonio-message-broker

Mesh and Directory
Mesh

Type of Role: Infrastructure

Packages:

  • service-discover-server

Mesh
Database

Type of Role: Infrastructure

Packages:

  • postgresql

  • carbonio-notification-push-db

  • carbonio-message-dispatcher-db

  • carbonio-ws-collaboration-db

Database
Database Connector

Type of Role: Infrastructure

Packages:

  • pgpool2

  • carbonio-files-db

  • carbonio-mailbox-db

  • carbonio-docs-connector-db

  • carbonio-tasks-db

  • service-discover-agent

Database Connector
Proxy

Type of Role: Infrastructure

Packages:

  • carbonio-proxy

  • carbonio-webui

  • carbonio-files-ui

  • carbonio-chats-ui

  • carbonio-user-management

  • carbonio-tasks-ui

  • carbonio-ws-collaboration-ui

  • carbonio-avdb-updater

  • service-discover-agent

Proxy
MTA AV/AS

Type of Role: Infrastructure

Packages:

  • carbonio-mta

  • service-discover-agent

MTA AV/AS
Mailstore & Provisioning

Type of Role: Service role

Packages:

  • carbonio-advanced

  • carbonio-storages

  • service-discover-agent

Mailstore & Provisioning
Files

Type of Role: Service role

Packages:

  • carbonio-files

  • service-discover-agent

Note

The Files Role can be installed without the Docs and Editor and Preview Roles.

Files
Docs & Editor

Type of Role: Service role

Packages:

  • carbonio-docs-connector

  • carbonio-docs-editor

  • service-discover-agent

Docs and Editor
Preview

Type of Role: Service role

Packages:

  • carbonio-preview

  • service-discover-agent

Preview
Tasks

Type of Role: Service role

Packages:

  • carbonio-tasks

  • service-discover-agent

Tasks
Video Server & Video Recording

Type of Role: Service role

Packages:

  • carbonio-videoserver

  • carbonio-videoserver-recorder

  • service-discover-agent

Video Server & Video Recording
Monitoring

Type of Role: Service role

Packages:

  • carbonio-prometheus

  • grafana

  • service-discover-agent

Monitoring
Event Streaming

Type of Role: Service role

Packages:

  • ZooKeeper

  • Apache Kafka

Event Streaming
Directory Replica

Type of Role: Service role

Packages:

  • carbonio-directory-server

Directory Replica
Work Stream Collaboration (Chats)

Type of Role: Service role

Packages:

  • carbonio-message-dispatcher

  • carbonio-ws-collaboration

  • carbonio-notification-push

  • carbonio-push-connector

  • service-discover-agent

Work Stream Collaboration (Chats)
Video Server & Video Recording (WSC)

Type of Role: Service role

Packages:

  • carbonio-videoserver-advanced

  • carbonio-videorecorder

  • service-discover-agent

Video Server & Video Recording (WSC)

How to install Roles#

Before presenting each Role and the tasks necessary for their correct installation, please review these important remarks:

  • While the overall procedure is the same for both Ubuntu and RHEL 8, the actual commands and file paths may differ on the two operating system, so pay attention that you execute the correct command on the correct files and operating system. The commands that differ are separated as follows. Click the Ubuntu or RHEL tab according to the Operating System on which you are installing Carbonio.

    # <command to be executed on Ubuntu systems>
    
    #  <command to be executed on Red Hat systems>
    
  • All the commands that are mentioned in this installation procedure must be executed as the root user.

  • In case you experience some issues during the installation, please refer to Section CLI Commands, in which you can find helpful commands.

  • When the installation process has successfully finished, you can access Carbonio's GUI using a browser: directions can be found in Section Access to the Web Interface.

  • You must start with the installation of the Database Role, followed by the Mesh and Directory and Database Connector. Then you can proceed with the other infrastructure Roles and finally with all other Roles.