1
0
mirror of https://github.com/zokradonh/kopano-docker synced 2025-06-05 23:16:12 +00:00

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
This commit is contained in:
Felix Bartels 2019-10-22 15:00:31 +02:00 committed by GitHub
parent 4dac253cf2
commit bcb0926c6d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
33 changed files with 153 additions and 67 deletions

View File

@ -9,6 +9,15 @@ TRIVY_VERSION=0.1.1
GOSS_VERSION=0.3.7
COMMANDER_VERSION=1.2.1
progname=$(basename "$0")
tempdir=$(mktemp -d "/tmp/$progname.XXXXXX")
function cleanup() {
rm -rf "$tempdir"
}
trap cleanup INT EXIT
cd "$tempdir"
if ! command -v hadolint > /dev/null; then
sudo curl -L "https://github.com/hadolint/hadolint/releases/download/v$HADOLINT_VERSION/hadolint-$(uname -s)-$(uname -m)" -o /usr/local/bin/hadolint
sudo chmod +rx /usr/local/bin/hadolint
@ -39,19 +48,29 @@ if ! command -v commander > /dev/null; then
sudo chmod +rx /usr/local/bin/commander
fi
if ! command -v commander > /dev/null; then
if ! command -v dccommander > /dev/null; then
sudo curl -L https://raw.githubusercontent.com/fbartels/dccommander/master/dccommander -o /usr/local/bin/dccommander
sudo chmod +rx /usr/local/bin/commander
sudo chmod +rx /usr/local/bin/dccommander
fi
if ! command -v expect > /dev/null; then
sudo apt update && sudo apt install -y expect
fi
if ! command -v pip > /dev/null; then
sudo apt install -y python-pip
fi
if ! command -v yamllint > /dev/null; then
sudo pip install --upgrade pip && sudo pip install yamllint
fi
if ! command -v npm > /dev/null; then
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt install -y nodejs
npm config set prefix ~
fi
if ! command -v eclint > /dev/null; then
npm install -g eclint
fi

View File

@ -24,6 +24,8 @@ install:
- travis_retry make build-all
script:
- make test-ci
- docker-compose down -v
- make test-startup-meet-demo
deploy:
- provider: script
script: make publish

View File

@ -5,10 +5,10 @@ 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
- 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)
- recommended to use as it makes web configuration easy and secure (manual configuration will be tedious and potentially less secure)
## ldap
@ -87,7 +87,7 @@ Aka "How do the containers connect/relate/interact with each other?"
## kopano_konnect
- authentification component (OpenID Connect)
- authentication component (OpenID Connect)
- required for apps interacting with the Kopano RestAPI (e.g. Kopano Meet)
## kopano_kwmserver
@ -100,4 +100,4 @@ Aka "How do the containers connect/relate/interact with each other?"
## kopano_scheduler
- helper container to execute scheduled tasks within Kopano
- helper container to execute scheduled tasks within Kopano

View File

@ -2,13 +2,17 @@
When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change.
## General architecture of containers
To get an impression how the containers interact/relate with each other have a look at the [architecture](ARCHITECTURE.md) description.
## Testing
This project includes a few automated tests that can be run to ensure that containers start up and are operational. Required tools for testing can be installed by executing `bash .ci/setup-tools.sh`.
The startup test can be executed by calling `make test-startup`. It spins up all containers and checks if they listen on their expected interfaces afterwards as well as execute some commands that should succeed on a succesful deployment.
The startup test can be executed by calling `make test-startup`. It spins up all containers and checks if they listen on their expected interfaces afterwards as well as execute some commands that should succeed on a successful deployment.
A more detailed test can be executed by calling `make test-goss`. This uses [Goss](https://github.com/aelsabbahy/goss) and its helper [dcgoss](https://github.com/aelsabbahy/goss/tree/master/extras/dcgoss) to validate the container configuration at runtime. These tests have not been implemented for all containers yet, but as an upside the same validation is used as part of the container healtcheck. Contributions are welcome!
A more detailed test can be executed by calling `make test-goss`. This uses [Goss](https://github.com/aelsabbahy/goss) and its helper [dcgoss](https://github.com/aelsabbahy/goss/tree/master/extras/dcgoss) to validate the container configuration at runtime. These tests have not been implemented for all containers yet, but as an upside the same validation is used as part of the container health check. Contributions are welcome!
Testing the startup scripts of the containers is still a work in progress. When running `make test-commander` [Commander](https://github.com/SimonBaeumer/commander) will be used to test output of the `version.sh` script and some of the container startup scripts.

View File

@ -375,6 +375,20 @@ test-startup: ## Test if all containers start up
docker-compose -f $(DOCKERCOMPOSE_FILE) -f tests/test-container.yml stop 2>/dev/null
docker ps --filter name=kopano_test* -aq | xargs docker rm -f
.PHONY: test-startup-meet-demo
test-startup-meet-demo: ## Test if the Meet demo setup starts up
docker-compose -f examples/meet/docker-compose.yml -f examples/meet/tests/test-container.yml build
docker-compose -f examples/meet/docker-compose.yml up -d
docker-compose -f examples/meet/docker-compose.yml ps
docker-compose -f examples/meet/docker-compose.yml -f examples/meet/tests/test-container.yml run test || \
(docker-compose -f examples/meet/docker-compose.yml -f examples/meet/tests/test-container.yml ps; \
docker-compose -f examples/meet/docker-compose.yml -f examples/meet/tests/test-container.yml logs -t --tail=20; \
docker-compose -f examples/meet/docker-compose.yml -f examples/meet/tests/test-container.yml stop; \
docker ps --filter name=kopano_test* -aq | xargs docker rm -f; \
exit 1)
docker-compose -f examples/meet/docker-compose.yml -f examples/meet/tests/test-container.yml stop 2>/dev/null
docker ps --filter name=kopano_test* -aq | xargs docker rm -f
# TODO this needs goss added to travis and dcgoss pulled from my own git repo
.PHONY: test-goss
test-goss: ## Test configuration of containers with goss

View File

@ -12,11 +12,11 @@ This repository contains an easy to replicate recipe to spin up a [Kopano](https
- If you are just interested in the demo environment you can accept the default values by pressing `Enter` on each question
- now run `docker-compose up` and you will see how the remaining Docker images are pulled and then everything is started
- 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.
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.
@ -40,13 +40,13 @@ The used `docker-compose.yml` is part of the git versioning. Which mean all chan
## Is this project also interesting for me when I already have a (non-Docker) Kopano environment?
Yes, indeed. You could for example use this to easily try out newer Kopano WebApp or Z-Push releases, without touching your production environment. Through the `zokradonh/kopano_core` image you could even try out newer version of e.g. `kopano-gateway` without jumping into a dependecy mess in your production environment.
Yes, indeed. You could for example use this to easily try out newer Kopano WebApp or Z-Push releases, without touching your production environment. Through the `zokradonh/kopano_core` image you could even try out newer version of e.g. `kopano-gateway` without jumping into a dependency mess in your production environment.
And last but not least this project also offers a `zokradonh/kopano_utils` image to easily run tools such as `kopano-backup`, `kopano-migration-pst`, `kopano-migration-imap` and all the other utilities that are bundles with Kopano. See [below](#some-more-commands-for-those-unfamilar-with-docker-compose) to see how to run `zokradonh/kopano_utils`.
And last but not least this project also offers a `zokradonh/kopano_utils` image to easily run tools such as `kopano-backup`, `kopano-migration-pst`, `kopano-migration-imap` and all the other utilities that are bundles with Kopano. See [below](#some-more-commands-for-those-unfamiliar-with-docker-compose) to see how to run `zokradonh/kopano_utils`.
### Additional configuration / Need to adjust any values after the initial run of `setup.sh`?
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.
If you want to modify some of the values from the `setup.sh` run you can simply edit `.env` in your favorite 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 named `kopano_server.env`. These additional env files are auto created when running `setup.sh`.
@ -76,7 +76,7 @@ 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 "scheduler" 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 convenience this project includes a "scheduler" container that will take care of this and that can be dynamically configured through env variables.
Please check the `README.md` of the scheduler image for further instructions.
@ -126,19 +126,19 @@ The exposed ports of each container are defined in `docker-compose.ports.yml`. I
### I want to use these Docker images outside of an evaluation environment. What do I need to adjust to make this possible?
To get a quick impression of Kopano this git repository bundles a locally build ldap image with some example users. When using the docker-compose.yml in a production environment make sure to:
To get a quick impression of Kopano this git repository bundles a locally build LDAP image with some example users. When using the docker-compose.yml in a production environment make sure to:
- either remove `ldap-demo/bootstrap/ldif/demo-users.ldif` from the locally built ldap image or completely remove the local ldap from the compose file
- adapt ldap queries in .env to match you actual ldap server and users
- either remove `ldap-demo/bootstrap/ldif/demo-users.ldif` from the locally built LDAP image or completely remove the local LDAP from the compose file
- adapt LDAP queries in .env to match you actual LDAP server and users
- all additional configuration of the Kopano components should be specified in the compose file and **not within the running container**
#### Can I combine these Docker images with my existing environment?
Yes, that is certainly a possibillity. Within the `examples/` directory you can find some ready to run examples that can be run in the following way:
Yes, that is certainly a possibility. Within the `examples/` directory you can find some ready to run examples that can be run in the following way:
- `docker-compose -f examples/webapp.yml up -d`
### Some more commands for those unfamilar with docker-compose
### Some more commands for those unfamiliar with docker-compose
- Start ``docker-compose-yml`` file in the background: `docker-compose up -d`
- Get a status overview of the running containers: `docker-compose ps`

View File

@ -2,4 +2,4 @@
[![](https://images.microbadger.com/badges/image/zokradonh/kopano_base.svg)](https://microbadger.com/images/zokradonh/kopano_base "Microbadger size/labels") [![](https://images.microbadger.com/badges/version/zokradonh/kopano_base.svg)](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).
Common base for Kopano images. Predefines arguments and prepares fetching of Kopano packages and building of a local repository (when using nightly downloads).

View File

@ -4,18 +4,17 @@ Helper container for systems where build requirements (bash, curl, docker-compos
Run the following command to enter the "build environment" (command may need to be run with `sudo` to work with the `docker` command):
```
```bash
$ ./run.sh
This script may need to be run as root to be able to use docker/docker-compose through it.
bash-4.4$
```
(the first time it will take a moment before the bash prompt is displayed, since the container is built locally first)
Afterwards you can execute the `setup.sh` script, modify `.env` to your liking and run any make commands:
```
```bash
bash-4.4# ./setup.sh
Creating an .env file for you
Which tag do you want to use for Kopano Core components? [latest]:
@ -29,7 +28,7 @@ LDAP server to be used (defaults to the bundled OpenLDAP) [ldap://ldap:389]:
Timezone to be used [Europe/Berlin.]:
E-Mail Address displayed for the 'postmaster' [postmaster@kopano.demo]:
Name/Address of Database server (defaults to the bundled one) [db]:
Avaliable options:
Available options:
1 ) de-at
2 ) de-ch
3 ) de-de
@ -41,7 +40,7 @@ Avaliable options:
9 ) nl
10 ) pl-pl
Check language spell support (again to uncheck, ENTER when done):
Avaliable options:
Available options:
1 ) contactfax
2 ) desktopnotifications
3 ) filepreviewer

View File

@ -10,7 +10,7 @@ Attachment location can be configured by setting the environment variable `KCCON
All configuration can be adjusted dynamically through environment variables.
```
```bash
KCCONF_SERVER_MYSQL_HOST=127.0.0.1
^ ^ ^ ^
| | | |
@ -24,19 +24,20 @@ General prefix |
```
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.
For core dumps on crashes kopano-server requires the `fs.suid_dumpable sysctl` to contain the value 2, not 0.
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`
`docker-compose exec kopano_server 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.
@ -46,4 +47,4 @@ See https://documentation.kopano.io/kopanocore_administrator_manual/configure_kc
- kopano-server is configured to listen on the ports 236 (plain) and 237 (https)
- kopano-ical is configured to listen on the port 8080, but the web container is also configured to proxy access to http(s)://FQDN/caldav to kopano-ical
- kopano-gateway is configured to listen on IMAP traffic on port 143. Pop3 is deactivated by default but whould be listening on port 110. Pop3s and IMAPs are currently not configured. (see https://github.com/zokradonh/kopano-docker/issues/16 for more details).
- kopano-gateway is configured to listen on IMAP traffic on port 143. Pop3 is deactivated by default but would be listening on port 110. Pop3s and IMAPs are currently not configured. (see https://github.com/zokradonh/kopano-docker/issues/16 for more details).

View File

@ -5,8 +5,9 @@ import kcconf
kcconf.configkopano({
r"/etc/kopano/ical.cfg":
{
'ical_listen': "0.0.0.0:8080",
'log_file': "-",
'log_level': "4"
'log_level': "3"
}
})

View File

@ -1,7 +1,7 @@
file:
/kopano/data/attachments/0:
/kopano/data/attachments/:
exists: true
mode: "0750"
mode: "0755"
owner: kopano
group: kopano
filetype: directory

View File

@ -77,6 +77,11 @@ server)
-wait file://"$KCCONF_SERVER_SERVER_SSL_KEY_FILE" \
-wait "$DB_CONN" \
-timeout 360s
# pre populate database
coreversion=$(dpkg-query --showformat='${Version}' --show kopano-server)
if dpkg --compare-versions "$coreversion" "gt" "8.7.84"; then
kopano-dbadm populate
fi
# cleaning up env variables
unset "${!KCCONF_@}"
exec /usr/sbin/kopano-server -F

View File

@ -1,5 +1,5 @@
# Database helpers
# create-multiple-databases.sh
## create-multiple-databases.sh
Script to create additional databases during the initial container startup. Based on https://github.com/mrts/docker-postgresql-multiple-databases.
Script to create additional databases during the initial container startup. Based on https://github.com/mrts/docker-postgresql-multiple-databases.

View File

@ -0,0 +1,6 @@
ARG docker_repo=zokradonh
FROM ${docker_repo}/kopano_scheduler
COPY test.sh /start.sh
CMD ["/start.sh"]

View File

@ -0,0 +1,13 @@
#!/bin/bash
set -ex
# waits for key events in various containers
# e.g. kopano_server:236 signals succesful start of kopano-server process
dockerize \
-wait file://var/run/kopano/grapi/notify.sock \
-wait http://kopano_konnect:8777/.well-known/openid-configuration \
-wait tcp://kopano_kwmserver:8778 \
-wait tcp://kopano_meet:9080 \
-wait tcp://web:2015 \
-timeout 30s

View File

@ -0,0 +1,19 @@
version: "3.5"
services:
test:
build:
context: tests/startup-test
args:
docker_repo: ${docker_repo:-zokradonh}
networks:
- kopano-net
- ldap-net
- web-net
volumes:
- kopanodata/:/kopano/data
- kopanossl/:/kopano/ssl
- kopanosocket/:/run/kopano
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
- KCCONF_SERVER_MYSQL_HOST=${MYSQL_HOST}

View File

@ -4,11 +4,11 @@ The Grapi Explorer is a fork of the Microsoft Graph Explorer, which has been mod
## How to use the Grapi Explorer?
1. Add the `grapi-explorer.yml` to the `COMPOSE_FILE` variable in your `.env` file.
1. Add the `grapi-explorer.yml` to the `COMPOSE_FILE` variable in your `.env` file.
Example:
Example:
```
COMPOSE_FILE=docker-compose.yml:docker-compose.ports.yml:grapi-explorer/grapi-explorer.yml
```
2. Run `docker-compose up -d` and you will find the grapi-explorer at `https://your-fqdn/grapi-explorer/`.
2. Run `docker-compose up -d` and you will find the grapi-explorer at `https://your-fqdn/grapi-explorer/`.

View File

@ -4,4 +4,4 @@
Image to run [Kopano kDAV](https://github.com/kopano-dev/kdav).
kDAV can be accessed on port 80 with the url ``/kdav``.
kDAV can be accessed on port 80 with the url ``/kdav``.

View File

@ -2,4 +2,4 @@
[![](https://images.microbadger.com/badges/image/zokradonh/kopano_konnect.svg)](https://microbadger.com/images/zokradonh/kopano_konnect "Microbadger size/labels") [![](https://images.microbadger.com/badges/version/zokradonh/kopano_konnect.svg)](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.
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.

View File

@ -2,4 +2,4 @@
[![](https://images.microbadger.com/badges/image/zokradonh/kopano_kwmserver.svg)](https://microbadger.com/images/zokradonh/kopano_kwmserver "Microbadger size/labels") [![](https://images.microbadger.com/badges/version/zokradonh/kopano_kwmserver.svg)](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.
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.

View File

@ -4,16 +4,17 @@ This directory contains a compose file including optional containers.
## How to use this compose file?
1. Add the `ldap-extras.yml` to the `COMPOSE_FILE` variable in your `.env` file.
1. Add the `ldap-extras.yml` to the `COMPOSE_FILE` variable in your `.env` file.
Example:
```
Example:
```bash
COMPOSE_FILE=docker-compose.yml:docker-compose.ports.yml:ldap-extras/ldap-extras.yml
```
2. Run `docker-compose up -d`.
2. Run `docker-compose up -d`.
## ldap-admin
## ldap-admin
After startup you can access phpLDAPadmin by going to `https://kopano.demo/ldap-admin`

View File

@ -2,4 +2,4 @@
[![](https://images.microbadger.com/badges/image/zokradonh/kopano_ldap.svg)](https://microbadger.com/images/zokradonh/kopano_ldap "Microbadger size/labels") [![](https://images.microbadger.com/badges/version/zokradonh/kopano_ldap.svg)](https://microbadger.com/images/zokradonh/kopano_ldap "Microbadger version")
Image to for an OpenLDAP server that already includes the Kopano LDAP schema. Based on https://github.com/osixia/docker-openldap.
Image to for an OpenLDAP server that already includes the Kopano LDAP schema. Based on https://github.com/osixia/docker-openldap.

View File

@ -10,7 +10,7 @@ Any additional configuration should be done through environment variables and no
Examples of env variables:
```
```bash
KCCONF_KWEBD_TLS=no
^ ^ ^ ^
| | | |

View File

@ -5,7 +5,8 @@ To have a demo environment that runs both Kopano and Owncloud perform the follow
1. Add the `owncloud.yml` to the `COMPOSE_FILE` variable in your `.env` file.
Example:
```
```bash
COMPOSE_FILE=docker-compose.yml:docker-compose.ports.yml:owncloud/owncloud.yml
```
@ -15,9 +16,9 @@ COMPOSE_FILE=docker-compose.yml:docker-compose.ports.yml:owncloud/owncloud.yml
## Further tweaks
Add the following to `kopano_webapp.env` to have the intranet plugin display both Kopano Meet as well as Owncloud (replace `kopano.demo with your own `fqdn):
Add the following to `kopano_webapp.env` to have the intranet plugin display both Kopano Meet as well as Owncloud (replace `kopano.demo with your own` FQDN):
```
```bash
KCCONF_WEBAPPPLUGIN_INTRANET_PLUGIN_INTRANET_USER_DEFAULT_ENABLE=true
KCCONF_WEBAPPPLUGIN_INTRANET_PLUGIN_INTRANET_BUTTON_TITLE=Kopano Meet
KCCONF_WEBAPPPLUGIN_INTRANET_PLUGIN_INTRANET_URL=https://kopano.demo/meet/
@ -27,11 +28,10 @@ KCCONF_WEBAPPPLUGIN_INTRANET_PLUGIN_INTRANET_ICON=resources/icons/icon_default.p
KCCONF_WEBAPPPLUGIN_INTRANET_PLUGIN_INTRANET_AUTOSTART_1=true
KCCONF_WEBAPPPLUGIN_INTRANET_PLUGIN_INTRANET_URL_1=https://kopano.demo/owncloud/
KCCONF_WEBAPPPLUGIN_INTRANET_PLUGIN_INTRANET_BUTTON_TITLE_1=Owncloud
```
Add/extend the following line in your `.env`:
```
```bash
ADDITIONAL_KOPANO_WEBAPP_PLUGINS="kopano-webapp-plugin-intranet kopano-webapp-plugin-files kopano-webapp-plugin-filesbackend-owncloud"
```

View File

@ -10,7 +10,7 @@ Any additional configuration should be done through environment variables and no
Examples of env variables:
```
```bash
KCCONF_WEBAPP_CLIENT_TIMEOUT=3600
^ ^ ^ ^
| | | |

View File

@ -6,13 +6,14 @@ This project includes a Docker container to easily inspect the data returned by
## How to use the Kopano Playground?
1. Add the `playground.yml` to the `COMPOSE_FILE` variable in your `.env` file.
1. Add the `playground.yml` to the `COMPOSE_FILE` variable in your `.env` file.
Example:
```
Example:
```bash
COMPOSE_FILE=docker-compose.yml:docker-compose.ports.yml:playground/playground.yml
```
2. Run `docker-compose up -d`.
2. Run `docker-compose up -d`.
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`.
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`.

View File

@ -2,4 +2,4 @@
[![](https://images.microbadger.com/badges/image/zokradonh/kopano_python.svg)](https://microbadger.com/images/zokradonh/kopano_python "Microbadger size/labels") [![](https://images.microbadger.com/badges/version/zokradonh/kopano_python.svg)](https://microbadger.com/images/zokradonh/kopano_python "Microbadger version")
Small image for components based on python-kopano.
Small image for components based on python-kopano.

View File

@ -6,7 +6,7 @@ Service to carry out repeating tasks within the Kopano environment. Takes care o
## 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.
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 convenience 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):
@ -15,4 +15,4 @@ The container knows two kinds of cron jobs (the crontab syntax is used for actua
- `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.
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.

View File

@ -2,4 +2,4 @@
[![](https://images.microbadger.com/badges/image/zokradonh/kopano_ssl.svg)](https://microbadger.com/images/zokradonh/kopano_ssl "Microbadger size/labels") [![](https://images.microbadger.com/badges/version/zokradonh/kopano_ssl.svg)](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.
Image to create certificates for all containers. These certificates are self signed and are used for internal Kopano component communication.

View File

@ -1 +1 @@
Place to store tests for CI
# Place to store tests for CI

View File

@ -13,7 +13,7 @@ dockerize \
-wait tcp://kopano_gateway:143 \
-wait tcp://kopano_ical:8080 \
-wait tcp://kopano_kwmserver:8778 \
-wait tcp://kopano_meet:9080 \
-wait http://kopano_meet:9080/meet \
-wait tcp://kopano_server:236 \
-wait tcp://kopano_server:237 \
-wait tcp://web:2015 \

View File

@ -2,4 +2,4 @@
[![](https://images.microbadger.com/badges/image/zokradonh/kopano_utils.svg)](https://microbadger.com/images/zokradonh/kopano_utils "Microbadger size/labels") [![](https://images.microbadger.com/badges/version/zokradonh/kopano_utils.svg)](https://microbadger.com/images/zokradonh/kopano_utils "Microbadger version")
Dedicated image with utilities for Kopano environments (admin, backup, ..).
Dedicated image with utilities for Kopano environments (admin, backup, ..).

View File

@ -7,7 +7,8 @@ Reverse Proxy to securely and with as less configuration effort as possible expo
In its default configuration this container will redirect requests to the root of the domain (so for example when opening https://kopano.demo/ in a browser) to https://kopano.demo/webapp. To redirect to a different path the environment variable `DEFAULTREDIRECT` needs to be configured.
Example:
```
```bash
# the following value needs to be added to .env
DEFAULTREDIRECT=/meet
```