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 bcb0926c6d
Misc changes (#268)
* fixes for setup-tools.sh

fixes https://github.com/zokradonh/kopano-docker/issues/266

* add startup tests for meet demo
* add architecture to contributing file
* define ical_listen for kopano-ical
* precreate database if it does not yet exist
* fix spelling
2019-10-22 15:00:31 +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 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)
  • 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