1
0
mirror of https://github.com/zokradonh/kopano-docker.git synced 2026-08-11 16:32:59 +00:00
Commit Graph

99 Commits

Author SHA1 Message Date
h44z 4effa19d91 Fix build for official and supported releases (#15)
* Fix build for official and supported releases
* Fix config generation: skip missing config files
* kopano-search ignores KOPANO_CONFIG_PATH env var
* Use kopano core 8.7 by default
* Include APT release key in this repo
* Copy APT release key into image
2020-06-08 12:17:57 +02:00
Felix Bartels e583247a58 Make it possible to send out of office notifications (#400)
* add wrapper to specify config file for kopano-autorespond
* drop overriding definition of tmp_path
2020-05-26 12:08:20 +02:00
Felix Bartels 7a04c93219 Prepare usage of build secrets (#303)
* sort .gitignore and add apt_auth.conf to it
* add helper to setup.sh to create apt_auth.conf (user still needs to enter their own credentials)
   * only create apt_auth.conf in make if it doesn't already exist
* add tooling to core dockerfile and makefile to use build secrets
* add ignore for hadolint as mounting syntax is currently not supported so far
* update to latest docker on travis for buildkit support
* documentation
* sort gitignore
* add dockerfile syntax definition for build args
2020-05-22 10:23:09 +02:00
Felix Bartels 9bba2ec77e Make it possible to override the final exe (#392)
* move all env definition in same block
* implement EXE env variable for kopano-core
  * Obsoletes parts of https://github.com/zokradonh/kopano-docker/pull/366
* use EXE in konnect container
* add exe for web
* make it possible to docker-composer run commands in web container
2020-05-05 21:03:47 +02:00
Felix Bartels 87de275e9f add example how to build dedicated container for services such as dagent (#391)
* add example how to build dedicated container for services such as dagent

Obsoletes part of https://github.com/zokradonh/kopano-docker/pull/366

Signed-off-by: Felix Bartels <felix@host-consultants.de>

* add new dockerfile for dagent

Signed-off-by: Felix Bartels <felix@host-consultants.de>
2020-05-01 15:53:57 +02:00
Felix Bartels 110ea43bf6 Rework label handling (#387)
* be smarter about labels

inspired by https://github.com/Peter-SAARLAND/zero
2020-04-28 22:16:12 +02:00
Felix Bartels 9efed4fe80 move implicit defaults to docker-compose (#353)
Reson: some non-default configuration options are backed into the startup scripts. This can be unexpected when mounting files e.g. in a Kubernetes setup.

https://github.com/zokradonh/kopano-docker/issues/294

* core configuration
* fix compose for meet
* remove interpreter from start script
* use default oidc timeout
2020-04-09 09:39:30 +02:00
Felix Bartels 3d81632698 also remove wait for socket for secure connections
references https://github.com/zokradonh/kopano-docker/pull/346

Signed-off-by: Felix Bartels <felix@host-consultants.de>
2020-03-10 16:38:48 +01:00
Felix Bartels a0c53e15a9 Install optional grapi dependencies (#347)
* install optional dependencies for grapi
* add hadolint exception
2020-03-06 12:47:31 +01:00
Felix Bartels 43928e538c Specify config location through KOPANO_CONFIG_PATH env variable (#352)
* Specify config location through KOPANO_CONFIG_PATH env variable
* add commander test to verify config is honoured by cli programs
* remove wrappers other than kopano-cli as it cannot make use of KOPANO_CONFIG_PATH

Fixes: https://github.com/zokradonh/kopano-docker/issues/351
2020-03-05 14:35:05 +01:00
Felix Bartels 40981f460b No longer test for grapi socket, but kapi endpoint instead (#346)
* we can no longer test for the existance of notify.sock since version 10.1.0 introduces multiple sockets

Signed-off-by: Felix Bartels <felix@host-consultants.de>

* switch startup tests to tcp tests for kapi endpoint

Signed-off-by: Felix Bartels <felix@host-consultants.de>
2020-02-27 15:00:43 +01:00
Felix Bartels 0561a979bc update to Debian Buster (#253)
* update to Debian Buster
* update webapp container
* update kdav image to buster
  * add some debug commands
* use onbuild to specify building of core repository only in one place
* remove ca-certificates and git from kdav image
  * git should not be needed since kdav has a builder stage
  * ca-certificates is already installed in an earlier stage
* upgrade to Debian 10 for Z-Push
* switch remaining Debian 9 repos in webapp
* use a new major version for the base image
  * since its now based on buster
* add new parameters to the onbuild step
* update repos in setup.sh
* switch default distribution in create repo script
2020-02-25 13:31:54 +01:00
Felix Bartels 8d0a0fd8f5 Add wrapper scripts to easily get admin.cfg (#331)
* add small wrapper scripts to honor admin.cfg at /tmp/kopano
* add script to create stores (workaround to satisfy tests)
* add output of orphaned store list to startup test
2020-02-04 08:07:49 +01:00
Felix Bartels b72359d000 Print a proper (error) message when container is read-only, but packages should be installed (#321)
* print an error message instead of failing to start if container is read-only
2020-01-16 15:22:12 +01:00
Felix Bartels 70e9940b38 Run all containers read-only (#314)
* switch containers in compose file to read-only
related to https://github.com/zokradonh/kopano-docker/issues/310
* make scheduler container read-only
* make meet container read-only
* fix konnect for read-only
* make core mostly read-only
* add custom location for ldap.cfg to default config
* sort config option for readability
* update makefile pull workaround
* make kdav read-only
* remove locale generation code from core startup
* fix commander tests
* fix store language tests
* add test for a dutch mailbox
* make it possible to run webapp read-only
* add locale hint to the compose file
* finish read-only mode for z-push
2020-01-14 14:31:53 +01:00
Felix Bartels 3b105980c1 prepare for reviewdog checks (#308)
* add some reviewdog checks
* give the workflow a better name
* debug goss check
* fix goss test for dagent
* disable reviewdog for now as it does not properly work
2019-12-30 13:55:15 +01:00
Felix Bartels 574e9de669 print version at startup (#312)
* print version at startup

fixes #285
2019-12-22 18:10:50 +01:00
Felix Bartels bbebae8e49 simplify failing goss_wait tests (#304)
Signed-off-by: Felix Bartels <felix@host-consultants.de>
2019-12-11 07:37:54 +01:00
Felix Bartels 7eab9c7c06 Hardcoded server names (#298)
* use variables to check if the server is running
* use kopano_con to address the specified kopano socket in an unified way
* set default value for kopano_con
2019-11-28 13:05:54 +01:00
RobinvG edf4086d7e Disable some checks when deploying with injected cfg files (#295)
* Add variables to disable some checks that aren't needed if you inject the cfg files
* add tests for new functionality
* uncomment write protected test

fixes https://github.com/zokradonh/kopano-docker/pull/296
2019-11-27 14:56:27 +01:00
Felix Bartels d7fb796fa3 split up installation for core and kapi+grapi (#293)
* split up installation for core and kapi+grapi
* add some debug output in case package installation fails
* let konnect run as nobody
* add code to check writing permissions for certificates and create certificates in container if possible
* add tests to check on failed and successful certificate creation
* add certificate creation logic from the konnect binfile
* add env for custom dockerize timeout (to fail earlier in tests)
2019-11-26 10:10:22 +01:00
Felix Bartels ead0acfdb0 Add a per setup unique machine-id (#257)
* add mount for machine-id
* services should check the availability of the machine id before starting
* add a note to the readme
* add new mounts to the multiserver example
* add dockerize to kweb
* fix meet demo
2019-11-19 13:55:11 +01:00
Felix Bartels 52d6b18322 Further tweaks for univention app (#264)
* add option to change base path
* fix env name
* add kweb configuration for using konnect in a subpath
* make webapp display configurable
* more explicit startup messages
* add ability to use an external oidc provider
* install the grapi ldap backend in the image when building with a recent enough kopano version
* add the ability to run test in the konnect container
  * the startup script gets more and more complicated, there should be a way to test it
* test some values and add test helper
* do not simply cat the registration, but call with yq
* update kweb and konnect
2019-11-11 10:54:54 +01:00
Felix Bartels a827ef65b7 Make sure that services listen globally (#273)
they need to be made available through reverse proxy and port forwarding anyways
changed in https://jira.kopano.io/browse/KC-1616

Signed-off-by: Felix Bartels <felix@host-consultants.de>
2019-10-29 12:16:39 +01:00
Felix Bartels e74da7b832 run apt non-interactive to prevent package questions (like config updates) during install (#272)
relates to https://github.com/zokradonh/kopano-docker/issues/261

Signed-off-by: Felix Bartels <felix@host-consultants.de>
2019-10-29 10:14:44 +01:00
Felix Bartels 8fa4da5f74 further goss checks (#270)
* check for running kopano-server
* run goss during startup test for kopano-server
2019-10-24 18:49:41 +02:00
Felix Bartels 5077bbd1b6 improve config options for grapi (#269)
* make it possible to configure grapi through its cfg
* add test for config setting in grapi
* add volume for persistent data
* chown and add tests for dir
2019-10-23 14:54:25 +02:00
Felix Bartels bcb0926c6d 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
2019-10-22 15:00:31 +02:00
Felix Bartels c49da1d5eb Store language (#251)
* clean out unneeded locales
* add test to verify that language is picked up in admin.cfg
* add basic question for language and use variable in compose
* use scriptlet to generate locales before start of kopano-server
* add script to check folders of a given mailbox (for language checks)
* add tests for locale generation

relates to #248
2019-10-15 09:24:10 +02:00
Felix Bartels 37f3ee0720 Make repo script more dynamic #232
* also add the ability to download the tar for supported releases
* use env variables for distribution, channel and branch
* add tests for new archive download for supported releases
2019-10-14 11:19:07 +02:00
Felix Bartels 80a3b2a563 experiment with overriding exec to test bash script functions (#254)
* experiment with overriding exec to test bash script functions

Signed-off-by: Felix Bartels <felix@host-consultants.de>

* refine tests

Signed-off-by: Felix Bartels <felix@host-consultants.de>

* test installation of packages

Signed-off-by: Felix Bartels <felix@host-consultants.de>

* make sure package list is not updated when there are not additional packages

* basic commander tests for webapp

Signed-off-by: Felix Bartels <felix@host-consultants.de>

* add webapp commander to makefile

Signed-off-by: Felix Bartels <felix@host-consultants.de>

* basic tests for webapp

Signed-off-by: Felix Bartels <felix@host-consultants.de>

* check webapp config.php

Signed-off-by: Felix Bartels <felix@host-consultants.de>

* add tests for z-push

Signed-off-by: Felix Bartels <felix@host-consultants.de>
2019-10-08 23:00:36 +02:00
Felix Bartels b3c3ac669e Switch to PERMIT_DOCKER=connected-networks (#210)
* test if https://github.com/tomav/docker-mailserver/issues/1079 is resolved
* add spooler test to commander target
2019-09-18 17:17:35 +02:00
Felix Bartels ab35522da5 Further improve commander test cases (#233)
* add a more detailed example based on https://github.com/SimonBaeumer/commander/pull/82
include test for '!include /usr/share/kopano/ldap.openldap.cfg'?
* add readme on testing
* add goss wait files for dagent and spooler
2019-09-12 13:26:05 +02:00
Felix Bartels 1a16f9822e make search start again (#238)
Signed-off-by: Felix Bartels <felix@host-consultants.de>
2019-09-10 15:22:16 +02:00
Felix Bartels 8135321201 Add example compose file to run Meet without Kopano (#217)
* Add example compose file to run Meet without Kopano
* add readme 
* add an example env file
* add setup.sh so user can easily create their own
* use kopano repo by default
2019-09-06 13:19:13 +02:00
Felix Bartels 7717fcf344 add functionality to detect the grapi version
this allows running the same dockerfile with both master and final branches of Kopano Groupware Core

Signed-off-by: Felix Bartels <felix@host-consultants.de>
(cherry picked from commit a40db475f92eb9908348871ccd4b40f24161de66)
2019-09-02 12:49:13 +02:00
Felix Bartels de66536525 Fix version detection in version.sh and add testing for it (#225)
* fix version syntax
* commander: verify output of version.sh
* commander: exit setup.sh with code 1 when .env exists
* add commander to travis
* minimal test for commander in core container
2019-08-30 18:22:36 +02:00
bjoernneumann db63ee39cb core-start-service: make the grapi ldap-backend usable (#227)
* core-start-service: make the grapi ldap-backend usable
* fix startup script for kopano grapi backend
2019-08-29 12:47:21 +02:00
Felix Bartels 26c45ce1db cut quotes from additional package var earlier on (#224)
* cut quotes from additional package var earlier on
* add easy debugging switch to script and predefine env var in base image
2019-08-28 20:49:31 +02:00
Felix Bartels 4878fc9917 Use goss for healthchecks (#223)
* basic healthcheck based on goss
* add goss to travis
* healtcheck command runs now for all services
* add to makefile
2019-08-27 14:56:49 +02:00
Felix Bartels d6744b20e2 Add test implementation of goss (#222)
* add test target for goss
split test-ci up to later add goss to it
* bring back chown of /kopano/data
* use a dedicated goss file for kopano-server
* add todo
2019-08-24 15:40:56 +02:00
zokradonh b0236bf0d8 Cure some quoting issues
* Double quotes not needed by docker compose

Same issue as here https://github.com/zokradonh/kopano-docker/issues/216

* move deletion of tmpfile into an exit trap

otherwise the file is not cleaned up when supported images are built

* repair sourcing of env by removing kopano ldap settings from env before sourcing

* additional packages env vars should be quoted in .env
* adapt start scripts to handle quotes additional packages
* treat update-tag script with ldap variable fix from setup.sh

fixes #216

* run version.sh in travis (to fail early if something is wrong there)
commit forgotten fixes to start scripts
2019-08-22 09:21:10 +02:00
Felix Bartels b8885da14e remove chown step in service startup (#219)
change is not neccesary and is blocking startup on kubernetes

Signed-off-by: Felix Bartels <felix@host-consultants.de>
2019-08-22 08:34:08 +02:00
Felix Bartels f7934cbc51 Make it possible to use an existing konnect instance (#195)
* make konnect url configurable
* switch to fork of dockerize as it allows to skip ssl verification
since the address of the oidc issuer is now dynamic it could point to an invalid ssl certificate (the self signed cert is by default "valid" for *)
* update hadolint
* add more scopes
* only skip ssl verification when running insecure
2019-08-20 21:16:42 +02:00
Felix Bartels fb37723cc3 Enforce .editorconfig by running eclint (#213)
* tune .editorconfig for the existing files
* fix reported linting issues
* travis: switch language to node_js to be able to run npm
* travis: build on ubuntu bionic
2019-08-12 16:14:45 +02:00
Felix Bartels f0cc708933 Add softdelete and backup to scheduler (#189)
* disable soft delete in kopano-server and add cron in scheduler to execute it there (fixes #187)
* fix cron example for backup
2019-06-21 07:50:48 +02:00
Felix Bartels adfbfeb4a3 fail make target when docker wait returns with non zero output (#184)
just install python3-minimal in base
clear apt key todo
rework test-ci to fail when the test containers exits with error code != 1
2019-06-15 19:21:54 +02:00
Felix Bartels 4bcb092266 transition to all versions numbers in labels (#175)
* update supercronic to the latest release
* update tagging for base
* fix version tag for core
* put versions for all containers into labels instead
* define vcf_ref once
* remove cache-from as caches will be invalidated early on because of passing the git ref early on
* do not rebuild when publishing
* do not rebuild when publishing
* reduce layers required for env assignment
* pull newer base images for kdav, scheduler and ssl if available
* alsp publish tag for ldap containers
* fix publishing of ssl container
2019-06-11 10:26:59 +02:00
Felix Bartels e4b391be4f add some more documentation about used ports (#161)
also add more ports to docker-compose.yml

Signed-off-by: Felix Bartels <felix@host-consultants.de>
2019-05-22 12:03:56 +02:00
Felix Bartels 0f98176282 do not upgrade dependencies when installing additional dependencies (#151)
this would otherwise alter other files in the image (e.g. upgrade z-push from 2.4.5 to 2.5.0). the more sustainable approach is to bake additional packages directly into the container by building an own through the makefile.

Signed-off-by: Felix Bartels <felix@host-consultants.de>
2019-05-09 13:11:45 +02:00