Skip to content

Latest commit

 

History

History
103 lines (58 loc) · 2.44 KB

ARCHITECTURE.md

File metadata and controls

103 lines (58 loc) · 2.44 KB

Architecture Overview

Aka "How do the containers connect/relate/interact with each other?"

web

  • external entry point for users accessing Kopano
    • reverse proxy for containers exposing a web interface
  • can retrieve ssl certificate from Let's Encrypt
  • redirects all requests to /webapp by default
  • recommended to use as it makes web configuration easy and secure (manual configuration will be tedious and potentially less secure)

ldap

  • (optional) bundles OpenLDAP service
  • kopano_server is using LDAP to manage users

ldap-admin and password-self-service

  • optional containers to manage users in ldap and let users change their password

mail

  • MTA stack with anti-spam and anti-virus
  • connects against the ldap to verify users

db

  • (optional) bundles MariaDB for the Kopano database

kopano_ssl

  • helper container to generate ssl certificates for internal usage
  • will create required files and then stop

kopano_server

  • main process of the Kopano deployment
  • connects towards LDAP to get a list of users and verify user logins via bind

kopano_webapp

  • provides Kopano WebApp, so users can interact with their mailboxes via their browser

kopano_zpush

  • provides Z-Push, so users can sync their mailboxes to phones and tablets

kopano_grapi

  • groupware backend of the Kopano RestAPI

kopano_kapi

  • http endpoint of the Kopano RestAPI
  • stores recent calls for the user in a key value stores (queried over Rest)

kopano_kdav

  • provides KDav, so users can sync their calendars and contacts via CalDAV and CardDAV

kopano_dagent

  • mail delivery part for kopano_server
  • mta delivers mail to it, dagent delivers the mail into the desired inbox

kopano_spooler

  • mail sending part for kopano_server
  • monitors outboxes of users, submits mails to the mta

kopano_gateway

  • provides Pop3 and IMAP access for users

kopano_ical

  • provides iCAL and CalDAV access for users (will be replaced with KDav in the future)

kopano_monitor

  • monitors mailbox usage and sends quota mails (by directly delivering a mail into the users inbox)

kopano_search

  • provides full text indexing for mailboxes

kopano_konnect

  • authentication component (OpenID Connect)
  • required for apps interacting with the Kopano RestAPI (e.g. Kopano Meet)

kopano_kwmserver

  • WebRTC signalling server

kopano_meet

  • provides the Meet web application/frontend

kopano_scheduler

  • helper container to execute scheduled tasks within Kopano