mirror of
https://github.com/zokradonh/kopano-docker
synced 2025-06-07 16:06:14 +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`
|
- 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`.
|
- 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.
|
**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.
|
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