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

95 Commits

Author SHA1 Message Date
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
Felix Bartels
124eb25513
Add second ldap image without demo data (#150)
* have a separate ldap container for demo data
* add question to setup.sh about demo users
* make ldap container switchable
* piggyback small fixup for search failing when starting directly after kopano-server

fixes #53
2019-05-09 09:22:33 +02:00
Felix Bartels
250c73053f
Add additional readme files for all produced images (#141) 2019-04-18 08:20:38 +02:00
Felix Bartels
caac8a5c03
wip: Implement a scheduler to run recurring tasks (such as z-push-gabsync) (#123)
* add scheduler container for gabsync
Adds a general scheduler container to trigger tasks within containers.
Also adds gabsync to zpush image
* make scheduler dynamic
execute each cron job once at startup to see if they would succeed
* remove services scripts from core container (now is part of the scheduler)
* add "CRONDELAY" for tasks that should not be executed at startup
* add documentation
* clear out crontab at startup
2019-03-24 17:33:41 +01:00
mithomas
29839286ad Add dynamic dependency-wait for server and spooler service. (#119)
* Add dynamic dependency-wait for server and spooler service.
Instead of using hard-coded dependency-waits on startup for database and MTA for the server and spooler, respectively, the actually configured values are now used.

For the servers, this also takes the use of a unix file socket over a network socket into account.
2019-03-23 00:10:22 +01:00