mirror of
https://github.com/zokradonh/kopano-docker
synced 2025-07-16 22:46:39 +00:00
Add additional readme files for all produced images (#141)
This commit is contained in:
parent
6b3ded8dfc
commit
250c73053f
61
README.md
61
README.md
@ -36,48 +36,9 @@ And last but not least this project also offers a `zokradonh/kopano_utils` image
|
||||
|
||||
If you want to modify some of the values from the `setup.sh` run you can simply edit `.env` in your favourite editor. Repeated runs of `setup.sh` will neither modify `docker-compose.yml` nor `.env`. In the ´.env´ file you will also find some given defaults like ldap query filters and the local ports for the reverse proxy.
|
||||
|
||||
Additionally a dedicated env file is created for each container (at least where that would make sense). The env file has the container name as part of the file name. For example for the `kopano_server` container the filename is `kopano_server.env`. These additional env files are auto created when running `setup.sh`
|
||||
Additionally a dedicated env file is created for each container (at least where that would make sense). The env file has the container name as part of the file name. For example for the `kopano_server` container the filename is named `kopano_server.env`. These additional env files are auto created when running `setup.sh`.
|
||||
|
||||
Any additional configuration should be done through environment variables and not done in the actual container. The images working with configuration files (e.g. `kopano_core`, `kopano_webapp`, `kopano_meet`) have a mechanism built in to translate env variables into configuration files. For services that can directly work with env variables (e.g. `kopano_konnect`, ´kopano_kwmserver´) these can be specified directly.
|
||||
|
||||
Examples of env variables:
|
||||
|
||||
```
|
||||
KCCONF_KWEBD_TLS=no
|
||||
^ ^ ^ ^
|
||||
| | | |
|
||||
General prefix |
|
||||
| | |
|
||||
Name of the relevant configuration file (kwebd.cfg in this case)
|
||||
| |
|
||||
Name of the configuration option in the configuration file
|
||||
|
|
||||
Value of the configuration option
|
||||
|
||||
KCCONF_WEBAPP_CLIENT_TIMEOUT=3600
|
||||
^ ^ ^ ^
|
||||
| | | |
|
||||
General prefix| |
|
||||
| | |
|
||||
Special value to signal the change should go into config.php belonging to WebApp
|
||||
| |
|
||||
Name of the configuration option in the configuration file
|
||||
|
|
||||
Value of the configuration option
|
||||
|
||||
KCCONF_WEBAPPPLUGIN_MDM_PLUGIN_MDM_USER_DEFAULT_ENABLE_MDM=true
|
||||
^ ^ ^ ^ ^
|
||||
| | | | |
|
||||
General prefix | | |
|
||||
| | | |
|
||||
Special value to signal the change should go into config-$identifier.php (located in /etc/kopano/webapp)
|
||||
| | |
|
||||
Identifier for the configuration file (config-$identifier.php)
|
||||
| |
|
||||
Name of the configuration option in the configuration file
|
||||
|
|
||||
Value of the configuration option
|
||||
```
|
||||
Any additional configuration should be done through environment variables and not done in the actual container. The images working with configuration files (e.g. `kopano_core`, `kopano_webapp`, `kopano_meet`) have a mechanism built in to translate env variables into configuration files. For services that can directly work with env variables (e.g. `kopano_konnect`, ´kopano_kwmserver´) these can be specified directly. Please check the individual `README.md` files for further instructions.
|
||||
|
||||
The compose file itself is part of the git repository and should not be edited directly. Instead a `docker-compose.override.yml` (will be ignored by git) file can be created to override and extend the default one. See https://docs.docker.com/compose/extends/ for more information.
|
||||
|
||||
@ -91,16 +52,11 @@ To be able to easily go back to a previous version you can also "tag" you Docker
|
||||
|
||||
### Recurring tasks and maintenance tasks within Kopano
|
||||
|
||||
There are certain tasks within Kopano that either need to be executed once (like creating the public store when starting a new environment for the first time) or on a regular base (like syncing the internal user list with and external ldap tree). For convinience this project includes a "schedular" container that will take care of this and that can be dynamically configured through env variables.
|
||||
There are certain tasks within Kopano that either need to be executed once (like creating the public store when starting a new environment for the first time) or on a regular base (like syncing the internal user list with and external ldap tree). For convinience this project includes a "scheduler" container that will take care of this and that can be dynamically configured through env variables.
|
||||
|
||||
The container knows two kinds of cron jobs (syntax is the same as within crontab):
|
||||
Please check the `README.md` of the scheduler image for further instructions.
|
||||
|
||||
- `CRON_ZPUSHGAB=0 22 * * * docker exec kopano_zpush z-push-gabsync -a sync`
|
||||
- Jobs prefixed with `CRON_` are executed once at container startup (and container startup will fail if one of the jobs fail) and then at the scheduled time.
|
||||
- `CRONDELAYED_KBACKUP=30 1 * * * docker run --rm -it zokradonh/kopano_utils kopano-backup -h`
|
||||
- Jobs prefixed with `CRONDELAYED_` are only executed at the scheduled time.
|
||||
|
||||
Instead of using the internal scheduler one can also just use an existing scheduler (cron on the docker host?) to execute these tasks.
|
||||
Instead of using the internal scheduler one can also just use an existing scheduler (cron on the docker host for example) to execute these tasks.
|
||||
|
||||
### How to use the project with the official and supported Kopano releases?
|
||||
|
||||
@ -133,12 +89,7 @@ The built image includes your subscription key! Do not push this image to any pu
|
||||
|
||||
While using kweb is recommended, this is of course possible.
|
||||
|
||||
- The `kopano_webapp` container is accessible on port 9080 and serves the WebApp on `/webapp`.
|
||||
- The `kopano_zpush` container is accessible on port 80 and serves Z-Push on `/Microsoft-Server-ActiveSync` ((additional urls are needed in case auto discover should be used).
|
||||
|
||||
### What are and how can I use the Kapi Playground and OIDC Playground?
|
||||
|
||||
This project includes a Docker container to easily inspect the data returned by the Kopano Rest API (KAPI), as well as the OpenID (Connect) Service Provider. To explore these applications you need to pass the URL of the "Issuer" when opening these. For the Kapi Playground this would for example be `https://kopano.demo/kapi-playground/?iss=https://kopano.demo`. For the OIDC Playground it would be `https://kopano.demo/oidc-playground/?discovery_uri=https://kopano.demo/.well-known/openid-configuration&discovery=auto`.
|
||||
Please check the individual web containers (kDAV, WebApp and Z-Push for individual instructions).
|
||||
|
||||
### I want to use these Docker images outside of an evaluation environment. What do I need to adjust to make this possible?
|
||||
|
||||
|
5
base/README.md
Normal file
5
base/README.md
Normal file
@ -0,0 +1,5 @@
|
||||
# Kopano base image
|
||||
|
||||
[](https://microbadger.com/images/zokradonh/kopano_base "Microbadger size/labels") [](https://microbadger.com/images/zokradonh/kopano_base "Microbadger version")
|
||||
|
||||
Common base for Kopano images. Predefines arguments and prepares fetching of Kopano packages and building of a local repository (when using nightly downloads).
|
@ -68,4 +68,4 @@ Sending build context to Docker daemon 4.608kB
|
||||
[...]
|
||||
```
|
||||
|
||||
This container also includes ´docker-compose´ for systems that can not be easily updated (again Synology). You can freely choose to use ´docker-compose up -d´ from inside of outside of this container.
|
||||
This container also includes ´docker-compose´ for systems that can not be easily updated (again Synology). You can freely choose to use ´docker-compose up -d´ from inside or outside of this container.
|
||||
|
@ -1,24 +1,43 @@
|
||||
E-Mail attachment directory is by default in `/kopano/data/attachments/` so bind `/kopano/data` as volume.
|
||||
# Kopano Core image
|
||||
|
||||
You can reconfigure by setting environment variable `KCCONF_SERVER_ATTACHMENT_PATH`.
|
||||
[](https://microbadger.com/images/zokradonh/kopano_core "Microbadger size/labels") [](https://microbadger.com/images/zokradonh/kopano_core "Microbadger version")
|
||||
|
||||
You can change all server.cfg settings you like prefixed with `KCCONF_SERVER_`
|
||||
So specify `KCCONF_SERVER_MYSQL_HOST` for `mysql_host` setting in `server.cfg`.
|
||||
Or specify `KCCONF_LDAP_LDAP_SEARCH_BASE` to set `ldap_search_base` in `ldap.cfg`.
|
||||
Image for components out of the "Kopano Core" repository. Is used to start containers for e.g. `kopano-server` and `kopano-gateway`.
|
||||
|
||||
You may override default settings with `KCCONF_*` options or comment specific options in/out with `KCCOMMENT_filenameWithoutExtension_anystring=searchline`
|
||||
E-Mail attachment directory is by default in `/kopano/data/attachments/` it is recommended to bind `/kopano/data` as volume.
|
||||
|
||||
Attachment location can be configured by setting the environment variable `KCCONF_SERVER_ATTACHMENT_PATH`.
|
||||
|
||||
All configuration can be adjusted dynamically through environment variables.
|
||||
|
||||
```
|
||||
KCCONF_SERVER_MYSQL_HOST=127.0.0.1
|
||||
^ ^ ^ ^
|
||||
| | | |
|
||||
General prefix |
|
||||
| | |
|
||||
Name of the relevant configuration file (server.cfg in this case)
|
||||
| |
|
||||
Name of the configuration option in the configuration file
|
||||
|
|
||||
Value of the configuration option
|
||||
```
|
||||
|
||||
Examples:
|
||||
- specify `KCCONF_SERVER_MYSQL_HOST` for `mysql_host` setting in `server.cfg`
|
||||
- specify `KCCONF_LDAP_LDAP_SEARCH_BASE` to set `ldap_search_base` in `ldap.cfg`
|
||||
|
||||
Additionally it is possible to comment specific options in/out with `KCCOMMENT_filenameWithoutExtension_anystring=searchline`
|
||||
e.g. `KCCOMMENT_LDAP_1=!include /usr/share/kopano/ldap.openldap.cfg`
|
||||
|
||||
For coredumps on crashes kopano-server requires the fs.suid_dumpable sysctl to contain the value 2, not 0.
|
||||
|
||||
The docker image kopano_ssl will create certificates for all containers. Those certificates are selfsigned and only for internal Kopano component communication.
|
||||
|
||||
kopano_webapp port 80 is meant to be published through a https reverse proxy. MAPI connection for Outlook is also handled over port 80.
|
||||
|
||||
Maybe you need to execute `kopano-cli --list-users` once after initial install in the kopano_server container.
|
||||
|
||||
See: https://documentation.kopano.io/kopanocore_administrator_manual/configure_kc_components.html#testing-ldap-configuration
|
||||
It is recommended to sync the user list before the first login of a user. With the bundled ´docker-compose.yml´ the ´kopano_scheduler´ container will take care of this. Alternatively `kopano-cli --list-users` could be run once after initial install in the kopano_server container.
|
||||
|
||||
Example:
|
||||
|
||||
`docker-compose exec kserver kopano-cli --list-users` (This may last very long without any console output.)
|
||||
`docker-compose exec kserver kopano-cli --list-users`
|
||||
|
||||
Depending on the overall performance of the system and the amount of user the first execution of this command will take a moment before it produces any output. This is since this command kicks off the mailbox creation for the users.
|
||||
|
||||
See https://documentation.kopano.io/kopanocore_administrator_manual/configure_kc_components.html#testing-ldap-configuration for more information.
|
7
kdav/README.md
Normal file
7
kdav/README.md
Normal file
@ -0,0 +1,7 @@
|
||||
# Kopano kDAV image
|
||||
|
||||
[](https://microbadger.com/images/zokradonh/kopano_kdav "Microbadger size/labels") [](https://microbadger.com/images/zokradonh/kopano_kdav "Microbadger version")
|
||||
|
||||
Image to run [Kopano kDAV](https://github.com/kopano-dev/kdav).
|
||||
|
||||
kDAV can be accessed on port 80 with the url ``/kdav``.
|
5
konnect/README.md
Normal file
5
konnect/README.md
Normal file
@ -0,0 +1,5 @@
|
||||
# Kopano Konnect image
|
||||
|
||||
[](https://microbadger.com/images/zokradonh/kopano_konnect "Microbadger size/labels") [](https://microbadger.com/images/zokradonh/kopano_konnect "Microbadger version")
|
||||
|
||||
Image to run [Kopano Konnect](https://github.com/kopano-dev/konnect). Takes the [official image](https://cloud.docker.com/u/kopano/repository/docker/kopano/konnectd) and extends it for automatic configuration.
|
5
kwmserver/README.md
Normal file
5
kwmserver/README.md
Normal file
@ -0,0 +1,5 @@
|
||||
# Kopano Kwmserver image
|
||||
|
||||
[](https://microbadger.com/images/zokradonh/kopano_kwmserver "Microbadger size/labels") [](https://microbadger.com/images/zokradonh/kopano_kwmserver "Microbadger version")
|
||||
|
||||
Image to run [Kopano Kwmserver](https://github.com/kopano-dev/kwmserver). Takes the [official image](https://cloud.docker.com/u/kopano/repository/docker/kopano/kwmserverdd) and extends it for automatic configuration.
|
5
ldap_demo/README.md
Normal file
5
ldap_demo/README.md
Normal file
@ -0,0 +1,5 @@
|
||||
# Kopano LDAP demo image
|
||||
|
||||
[](https://microbadger.com/images/zokradonh/kopano_ldap_demo "Microbadger size/labels") [](https://microbadger.com/images/zokradonh/kopano_ldap_demo "Microbadger version")
|
||||
|
||||
Image to for an OpenLDAP server to provide some demo users for Kopano. Based on https://github.com/osixia/docker-openldap.
|
25
meet/README.md
Normal file
25
meet/README.md
Normal file
@ -0,0 +1,25 @@
|
||||
# Kopano Kwmserver image
|
||||
|
||||
[](https://microbadger.com/images/zokradonh/kopano_meet "Microbadger size/labels") [](https://microbadger.com/images/zokradonh/kopano_meet "Microbadger version")
|
||||
|
||||
Image to run [Kopano Meet](https://github.com/Kopano-dev/meet).
|
||||
|
||||
## Configuration through environment variables
|
||||
|
||||
Any additional configuration should be done through environment variables and not done in the actual container. The images working with configuration files (e.g. `kopano_core`, `kopano_webapp`, `kopano_meet`) have a mechanism built in to translate env variables into configuration files. For services that can directly work with env variables (e.g. `kopano_konnect`, ´kopano_kwmserver´) these can be specified directly. Please check the individual `README.md` files for further instructions.
|
||||
|
||||
Examples of env variables:
|
||||
|
||||
```
|
||||
KCCONF_KWEBD_TLS=no
|
||||
^ ^ ^ ^
|
||||
| | | |
|
||||
General prefix |
|
||||
| | |
|
||||
Name of the relevant configuration file (kwebd.cfg in this case)
|
||||
| |
|
||||
Name of the configuration option in the configuration file
|
||||
|
|
||||
Value of the configuration option
|
||||
|
||||
```
|
@ -1 +1,37 @@
|
||||
Common base image for php based Kopano containers
|
||||
# Kopano PHP image
|
||||
|
||||
[](https://microbadger.com/images/zokradonh/kopano_php "Microbadger size/labels") [](https://microbadger.com/images/zokradonh/kopano_php "Microbadger version")
|
||||
|
||||
Common base image for php based Kopano containers.
|
||||
|
||||
## Configuration through environment variables
|
||||
|
||||
Any additional configuration should be done through environment variables and not done in the actual container. The images working with configuration files (e.g. `kopano_core`, `kopano_webapp`, `kopano_meet`) have a mechanism built in to translate env variables into configuration files. For services that can directly work with env variables (e.g. `kopano_konnect`, ´kopano_kwmserver´) these can be specified directly. Please check the individual `README.md` files for further instructions.
|
||||
|
||||
Examples of env variables:
|
||||
|
||||
```
|
||||
KCCONF_WEBAPP_CLIENT_TIMEOUT=3600
|
||||
^ ^ ^ ^
|
||||
| | | |
|
||||
General prefix| |
|
||||
| | |
|
||||
Special value to signal the change should go into config.php belonging to WebApp
|
||||
| |
|
||||
Name of the configuration option in the configuration file
|
||||
|
|
||||
Value of the configuration option
|
||||
|
||||
KCCONF_WEBAPPPLUGIN_MDM_PLUGIN_MDM_USER_DEFAULT_ENABLE_MDM=true
|
||||
^ ^ ^ ^ ^
|
||||
| | | | |
|
||||
General prefix | | |
|
||||
| | | |
|
||||
Special value to signal the change should go into config-$identifier.php (located in /etc/kopano/webapp)
|
||||
| | |
|
||||
Identifier for the configuration file (config-$identifier.php)
|
||||
| |
|
||||
Name of the configuration option in the configuration file
|
||||
|
|
||||
Value of the configuration option
|
||||
```
|
9
playground/README.md
Normal file
9
playground/README.md
Normal file
@ -0,0 +1,9 @@
|
||||
# Kopano Playground image
|
||||
|
||||
[](https://microbadger.com/images/zokradonh/kopano_playground "Microbadger size/labels") [](https://microbadger.com/images/zokradonh/kopano_playground "Microbadger version")
|
||||
|
||||
Example applications to test Konnect and Kapi.
|
||||
|
||||
## What are and how can I use the Kapi Playground and OIDC Playground?
|
||||
|
||||
This project includes a Docker container to easily inspect the data returned by the Kopano Rest API (KAPI), as well as the OpenID (Connect) Service Provider. To explore these applications you need to pass the URL of the "Issuer" when opening these. For the Kapi Playground this would for example be `https://kopano.demo/kapi-playground/?iss=https://kopano.demo`. For the OIDC Playground it would be `https://kopano.demo/oidc-playground/?discovery_uri=https://kopano.demo/.well-known/openid-configuration&discovery=auto`.
|
18
scheduler/README.md
Normal file
18
scheduler/README.md
Normal file
@ -0,0 +1,18 @@
|
||||
# Kopano Scheduler image
|
||||
|
||||
[](https://microbadger.com/images/zokradonh/kopano_scheduler "Microbadger size/labels") [](https://microbadger.com/images/zokradonh/kopano_scheduler "Microbadger version")
|
||||
|
||||
Service to carry out repeating tasks within the Kopano environment. Takes care of initial user sync on startup and creating the public store.
|
||||
|
||||
## Recurring tasks and maintenance tasks within Kopano
|
||||
|
||||
There are certain tasks within Kopano that either need to be executed once (like creating the public store when starting a new environment for the first time) or on a regular base (like syncing the internal user list with and external ldap tree). For convinience this project includes a "scheduler" container that will take care of this and that can be dynamically configured through env variables.
|
||||
|
||||
The container knows two kinds of cron jobs (the crontab syntax is used for actual jobs):
|
||||
|
||||
- `CRON_ZPUSHGAB=0 22 * * * docker exec kopano_zpush z-push-gabsync -a sync`
|
||||
- Jobs prefixed with `CRON_` are executed once at container startup (and container startup will fail if one of the jobs fail) and then at the scheduled time.
|
||||
- `CRONDELAYED_KBACKUP=30 1 * * * docker run --rm -it zokradonh/kopano_utils kopano-backup -h`
|
||||
- Jobs prefixed with `CRONDELAYED_` are only executed at the scheduled time.
|
||||
|
||||
Instead of using the internal scheduler one can also just use an existing scheduler (cron on the docker host for example) to execute these tasks.
|
5
ssl/README.md
Normal file
5
ssl/README.md
Normal file
@ -0,0 +1,5 @@
|
||||
# Kopano SSL image
|
||||
|
||||
[](https://microbadger.com/images/zokradonh/kopano_ssl "Microbadger size/labels") [](https://microbadger.com/images/zokradonh/kopano_ssl "Microbadger version")
|
||||
|
||||
Image to create certificates for all containers. These certificates are selfsigned and are used for internal Kopano component communication.
|
1
tests/README.md
Normal file
1
tests/README.md
Normal file
@ -0,0 +1 @@
|
||||
Place to store tests for CI
|
5
utils/README.md
Normal file
5
utils/README.md
Normal file
@ -0,0 +1,5 @@
|
||||
# Kopano Utils image
|
||||
|
||||
[](https://microbadger.com/images/zokradonh/kopano_utils "Microbadger size/labels") [](https://microbadger.com/images/zokradonh/kopano_utils "Microbadger version")
|
||||
|
||||
Dedicated image with utilities for Kopano environments (admin, backup, ..).
|
7
web/README.md
Normal file
7
web/README.md
Normal file
@ -0,0 +1,7 @@
|
||||
# Kopano Web image
|
||||
|
||||
[](https://microbadger.com/images/zokradonh/kopano_web "Microbadger size/labels") [](https://microbadger.com/images/zokradonh/kopano_web "Microbadger version")
|
||||
|
||||
Reverse Proxy to securely and with as less configuration effort as possible expose Kopano to the public internet.
|
||||
|
||||
The `kopano_webapp` container is accessible on port 9080 and serves the WebApp on `/webapp`.
|
5
webapp/README.md
Normal file
5
webapp/README.md
Normal file
@ -0,0 +1,5 @@
|
||||
# Kopano WebApp image
|
||||
|
||||
[](https://microbadger.com/images/zokradonh/kopano_webapp "Microbadger size/labels") [](https://microbadger.com/images/zokradonh/kopano_webapp "Microbadger version")
|
||||
|
||||
Image for Kopano WebApp and its plugins. Please check in the `kopano_php` folder for configuration instructions.
|
7
zpush/README.md
Normal file
7
zpush/README.md
Normal file
@ -0,0 +1,7 @@
|
||||
# Kopano Z-Push image
|
||||
|
||||
[](https://microbadger.com/images/zokradonh/kopano_zpush "Microbadger size/labels") [](https://microbadger.com/images/zokradonh/kopano_zpush "Microbadger version")
|
||||
|
||||
Image for running Z-Push with Kopano.
|
||||
|
||||
The `kopano_zpush` container is accessible on port 80 and serves Z-Push on `/Microsoft-Server-ActiveSync` ((additional urls are needed in case auto discover should be used).
|
Loading…
x
Reference in New Issue
Block a user