mirror of
https://github.com/zokradonh/kopano-docker
synced 2025-06-07 07:56:12 +00:00
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
This commit is contained in:
parent
e482ed4cf5
commit
4ae6af33fb
@ -14,6 +14,8 @@ This repository contains an easy to replicate recipe to spin up a [Kopano](https
|
||||
- after startup has succeeded you can access the Kopano WebApp by going to `https://kopano.demo/webapp`
|
||||
- there are already some users created in the demo ldap. These users all have a password that is identical to the username, e.g. the password for `user1` user `user1`.
|
||||
|
||||
If you want to get an impression how the containers interact/relate with each other have a look at the [architecture](architecture.md) description.
|
||||
|
||||
**Note:** There have been reports about the ldap demo not starting up on MacOS. It is recommended to use a Linux OS if you want to use the bundled LDAP image.
|
||||
|
||||
The `docker-compose.yml` file by default pulls Docker containers from https://hub.docker.com/r/zokradonh/kopano_core/ and https://hub.docker.com/r/zokradonh/kopano_webapp/. These images are based on the [Kopano nightly builds](https://download.kopano.io/community/) and will contain the latest version available from the time the image was built.
|
||||
|
103
architecture.md
Normal file
103
architecture.md
Normal file
@ -0,0 +1,103 @@
|
||||
# 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)
|
||||
|
||||
## kopano_search
|
||||
|
||||
- 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
|
42
examples/meet/architecture.md
Normal file
42
examples/meet/architecture.md
Normal file
@ -0,0 +1,42 @@
|
||||
# Architecture Overview
|
||||
|
||||
## web
|
||||
|
||||
- external entry point for users accessing Kopano Meet
|
||||
- reverse proxy for kopano_kapi, kopano_konnect, kopano_kwmserver and kopano_meet
|
||||
- can retrieve ssl certificate from Lets Encrypt
|
||||
- redirects all requests to /meet
|
||||
- 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
|
||||
- Konnect and Grapi are using it
|
||||
|
||||
## kopano_ssl
|
||||
|
||||
- helper container to generate ssl certificates for internal usage
|
||||
- will create required files and then stop
|
||||
|
||||
## kopano_grapi
|
||||
|
||||
- groupware backend of the Kopano RestAPI
|
||||
- connects to LDAP to provide a global addressbook to users
|
||||
|
||||
## kopano_kapi
|
||||
|
||||
- http endpoint of the Kopano RestAPI
|
||||
- stores recent calls for the user in a key value stores (queried over Rest)
|
||||
|
||||
## kopano_konnect
|
||||
|
||||
- authentification component (OpenID Connect) for Meet
|
||||
- connects to the LDAP backend to verify user logins via bind
|
||||
|
||||
## kopano_kwmserver
|
||||
|
||||
- WebRTC signalling server
|
||||
|
||||
## kopano_meet
|
||||
|
||||
- provides the Meet web application/frontend
|
Loading…
x
Reference in New Issue
Block a user