Scenario Full Small#

This scenario involves the presence of a single tenant and is suitable for small infrastructure up to thousands of accounts, with complete set of Carbonio functionalities. The scenario can be deployed either using the Ansible Playbook, or manually, Node by Node. In both cases, make sure you configure the internal network.

Ansible Playbook#

This 5 Nodes scenario can be installed using Ansible: you need to setup a workstation to run Ansible playbooks (please refer to section Prepare the Ansible Environment and following for directions on setting up the workstation), then download the Ansible inventory (see below this paragraph), replace the FQDN and values present in the file according to your planned Carbonio infrastructure (please refer to Section Prepare Inventory). Once edited the inventory, you can Install Carbonio Using Ansible.

Inventory - “Full Small” Scenario

Download the inventory

[postgresServers]
srv1.example.com

[masterDirectoryServers]
srv1.example.com

[replicaDirectoryServers]

[serviceDiscoverServers]
srv1.example.com

[dbsConnectorServers]
srv3.example.com

[mtaServers]
srv2.example.com

[proxyServers]
srv2.example.com

[proxyServers:vars]
webmailHostname=YourWebmailPublicHostname

[applicationServers]
srv3.example.com

[filesServers]
srv4.example.com

[docsServers]
srv4.example.com

[taskServers]
srv3.example.com

[previewServers]
srv4.example.com

[videoServers]
srv5.example.com public_ip_address=x.y.z.t

[prometheusServers]
srv1.example.com

[syslogServer]
srv1.example.com

Once edited the inventory, you can launch Carbonio installation by issuing from the workstation, the command (as the root user)

# ansible-playbook -u root -i ../../data/carbonio-inventory-fullsmall carbonio-install.yml

Network Configuration#

The following ports must be opened on the external network, i.e., they are required for proper access to Carbonio from the Internet.

Table 3 Opened ports in Scenario Full Small.#

Public hostname

Ports & Service

Mapping

mail.example.com

  • TCP 25/465/587 SMTP/S

  • TCP 80/443 HTTP/S

  • TCP 143/993 IMAP/S

  • TCP 110/995 POP/S

  • TCP 8636 LDAP Addresbook

srv2.example.com

mail.example.com

  • UDP 20000/40000 Video Streaming

srv5.example.com


Manual Roles Installation#

In case you do not want to install Carbonio on this scenario using Ansible, you can proceed with the manual installation of the various Roles on the Nodes, according to the following guidelines.

Before starting the installation, bear in mind to:

  • Always start with the installation of Mesh and Directory Roles

  • When installing multiple Roles on a Node, the tasks listed in Bootstrap Carbonio* and Join Carbonio Mesh steps can be made only once, after all packages of the Roles have been installed

Node 1

Node Name/FQDN: srv1.example.com

Type of services: Clustered services

Roles installed:

Node 2

Node Name/FQDN: srv2.example.com

Type of services: Proxy and MTA

Roles installed:

Node 3

Node Name/FQDN: srv3.example.com

Type of services: Mails, Calendars, Contacts, and Task

Roles installed:

Node 4

Node Name/FQDN: srv4.example.com

Type of services: Files, Preview, and Editing

Roles installed:

Node 5

Node Name/FQDN: srv5.example.com

Type of services: Video and Meeting

Roles installed: