1
0
mirror of https://github.com/zokradonh/kopano-docker synced 2025-06-07 16:06:14 +00:00
kopano-docker/architecture.md
Felix Bartels 4ae6af33fb
Enhance description with relation between containers (#243)
* add container structure as architecture document and link to it from the readme
* have separate architecture description for Meet
2019-10-04 15:28:28 +02:00

2.4 KiB

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 tendious 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)
  • provides full text indexing for mailboxes

kopano_konnect

  • authentification 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