mirror of
https://github.com/zokradonh/kopano-docker
synced 2025-06-06 15:36:40 +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:
parent
4dac253cf2
commit
bcb0926c6d
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
@ -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.
|
||||
|
||||
|
14
Makefile
14
Makefile
@ -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
|
||||
|
24
README.md
24
README.md
@ -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`
|
||||
|
@ -2,4 +2,4 @@
|
||||
|
||||
[](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).
|
||||
Common base for Kopano images. Predefines arguments and prepares fetching of Kopano packages and building of a local repository (when using nightly downloads).
|
||||
|
@ -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
|
||||
|
@ -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).
|
||||
|
@ -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"
|
||||
}
|
||||
})
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
file:
|
||||
/kopano/data/attachments/0:
|
||||
/kopano/data/attachments/:
|
||||
exists: true
|
||||
mode: "0750"
|
||||
mode: "0755"
|
||||
owner: kopano
|
||||
group: kopano
|
||||
filetype: directory
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
6
examples/meet/tests/startup-test/Dockerfile
Normal file
6
examples/meet/tests/startup-test/Dockerfile
Normal file
@ -0,0 +1,6 @@
|
||||
ARG docker_repo=zokradonh
|
||||
FROM ${docker_repo}/kopano_scheduler
|
||||
|
||||
COPY test.sh /start.sh
|
||||
|
||||
CMD ["/start.sh"]
|
13
examples/meet/tests/startup-test/test.sh
Executable file
13
examples/meet/tests/startup-test/test.sh
Executable 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
|
19
examples/meet/tests/test-container.yml
Normal file
19
examples/meet/tests/test-container.yml
Normal 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}
|
@ -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/`.
|
||||
|
@ -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``.
|
||||
|
@ -2,4 +2,4 @@
|
||||
|
||||
[](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.
|
||||
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.
|
||||
|
@ -2,4 +2,4 @@
|
||||
|
||||
[](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.
|
||||
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.
|
||||
|
@ -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`
|
||||
|
||||
|
@ -2,4 +2,4 @@
|
||||
|
||||
[](https://microbadger.com/images/zokradonh/kopano_ldap "Microbadger size/labels") [](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.
|
||||
|
@ -10,7 +10,7 @@ Any additional configuration should be done through environment variables and no
|
||||
|
||||
Examples of env variables:
|
||||
|
||||
```
|
||||
```bash
|
||||
KCCONF_KWEBD_TLS=no
|
||||
^ ^ ^ ^
|
||||
| | | |
|
||||
|
@ -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"
|
||||
```
|
||||
|
@ -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
|
||||
^ ^ ^ ^
|
||||
| | | |
|
||||
|
@ -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`.
|
||||
|
@ -2,4 +2,4 @@
|
||||
|
||||
[](https://microbadger.com/images/zokradonh/kopano_python "Microbadger size/labels") [](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.
|
||||
|
@ -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.
|
||||
|
@ -2,4 +2,4 @@
|
||||
|
||||
[](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.
|
||||
Image to create certificates for all containers. These certificates are self signed and are used for internal Kopano component communication.
|
||||
|
@ -1 +1 @@
|
||||
Place to store tests for CI
|
||||
# Place to store tests for CI
|
||||
|
@ -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 \
|
||||
|
@ -2,4 +2,4 @@
|
||||
|
||||
[](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, ..).
|
||||
Dedicated image with utilities for Kopano environments (admin, backup, ..).
|
||||
|
@ -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
|
||||
```
|
||||
|
Loading…
x
Reference in New Issue
Block a user