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

87 Commits

Author SHA1 Message Date
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
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
b004988517
Separate out testing dependencies to be more independent of travis
* move docker-hub-helper in a general ci folder
* move installation of tools into dedicated script (will make it easier to use a different ci platform)
* mention the setup-tools script in contributing and move testing instructions in there as well
2019-10-16 17:30:42 +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
9b5187d2e4
implement more fine grained version tagging (#256) 2019-10-11 18:20:25 +02:00
Felix Bartels
b840e66418
Add hints about Docker caching (#255)
* tweaking for docker caching
* tweaks to contributing
2019-10-09 19:46:54 +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
a33458bd15
Remove printing of image size (does not work on Travis) (#252)
* move repo definition outside of ifndef
2019-10-07 15:45:24 +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
b273c87cb3
More tests (#240)
* add goss healthcheck to meet
* add goss healthcheck to scheduler
* enhance goss tests for webapp
* add meet and scheduler to make target for goss
* fix healtcheck for webapp

will report 200, but also cause an error because of it being requested over plain
have dedicated url for check
* disable stats reporting in build
* update commander
2019-09-15 18:01:09 +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
68c691acbd
Adapt Konnect Container for Univention (#236)
* precreate meet keys in ssl, but do the actual action in konnect
* generate all keys for meet within Konnect
* incorporate explicit logging and settings set by ucs app
* make konnect container more dynamic
* set default oidc_issuer_identifier
* print size of container
* builder image is not required for security scanning
* define entrypoint instead of using command
* more cleanup of testing containers
* give logs in case of error
2019-09-10 13:48:19 +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
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
87b844b10e
Add grapi-explorer (#215)
* grapi explorer is located in its own (optional) file
* update readme
* optimize eclint check
2019-08-20 21:58:54 +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
45a506c7dd
Update kweb (#209)
* Update kweb to latest release
the fqdn needs to be part of kweb.cfg
make port 2015 explicit
fixes #208

* testing improvements
add git to build container
improve ci testing
add kopano-ical ports to setup


* no longer run kweb as root
now possible because of fd5c7307db
may require to manually delete the kopano_web data volume since kweb user cannot read data from root user.
2019-08-07 14:03:26 +02:00
Felix Bartels
f18e19b5b3
update descriptions on docker hub (#191)
* add script to update image description on docker hub
* also set (short) description

fixes #179

* add optional step to makefile to update docker hub readme files

to update readme on docker hub add DOCKERREADME=yes to .env (values of variable is irrelevant, only that it its set)

* add docker_repo to .env

this fixes tagging of images for docker orgs other than the default value
2019-06-23 20:56:38 +02:00
Felix Bartels
4d2cffbe09
Add linting for yaml files (#186)
* rename check-scripts target to lint
* install yamllint through pip on travis
* add yamllint config, do not fail on too long lines
* fix yaml linting errors
* remove circular dependency
2019-06-19 18:08:36 +02:00
Felix Bartels
e0792a39a5
rework test image (#185)
use scheduler image as base
after dockerize round also execute some other commands
clean up test containers after run
switch kopano-admin to listing users (also more helpful when debugging)
comment kopano-cli for the moment
2019-06-16 10:59:42 +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
787857e2f7
rename COMPOSE_FILE to not conflict with the env setting for this (#173)
Signed-off-by: Felix Bartels <felix@host-consultants.de>
2019-06-07 22:00:03 +02:00
Felix Bartels
3a0ad6d4af
smaller improvements to setup.sh (#153)
* replace bash function to list docker tags with https://github.com/genuinetools/reg/
  * this depends on new release in https://github.com/genuinetools/reg/issues/186 to fully function
* update docker version
* fix version.sh to also show versions from repos defined in .env
* add script to list available tags and update values in .env
* define default values for all version vars
* add previously missing containers
* use command instead of hash in update env script
* use a custom select function instead shell builtin (since it does not handle default values)
* add setup-update-tag in test.exp
2019-05-31 09:37:36 +02:00
Felix Bartels
f19cf274f7
prepare automatic security scanning (#122)
* add todo for docker wait
* add makefile target to scan containers with trivy
* pin version of trivy in travis file
* add trivy cache to persistent storage of travis (commented since not part of ci for the moment)
* reorg travis file + remove goss as it is not used
* add a fixed version for the base image
* add file with tags to gitignore
* introduce tag-all target
* remove after_failure step
* add ignore file for trivy
* store the tag for the builder as well
* remove tag_file after completing scans
* replace manual build and publish commands with generated ones
* update kdav builder to resolve CVE-2019-3855
* ignore CVE-2019-3855 which is thrown in kdav build container
* exclude the build-webapp-demo from build-all
2019-05-27 13:09:13 +02:00
Felix Bartels
d94b7ca55d
remove surplus locale definition from images building upon base (#165)
* remove surplus locale configuration (should only be in base image)
update konnect
add version to ldap and ldap_demo images
* also create a tag for the ldap images
* add ldap version to compose file
2019-05-27 12:01:13 +02:00
Felix Bartels
b1b04859dc
remove --pull again from Makefile (#162)
doing docker build --pull messes with chained builds (base -> php -> webapp)

Signed-off-by: Felix Bartels <felix@host-consultants.de>
2019-05-27 08:06:34 +02:00
Felix Bartels
394a6de790 remove testing container after test-ci run
Signed-off-by: Felix Bartels <felix@host-consultants.de>
2019-05-20 09:57:53 +02:00
Felix Bartels
4bf877b791
make sure to pull in updates for the base image (#159)
Signed-off-by: Felix Bartels <felix@host-consultants.de>
2019-05-18 11:26:49 +02:00
Felix Bartels
7affd26ff8 add kopano-ldap to make-publish
Signed-off-by: Felix Bartels <felix@host-consultants.de>
2019-05-14 07:46:21 +02:00
Felix Bartels
5dd163467d
Add tag to kopano_ssl image (#152)
switch kopano_ssl from apline:latest to alpine:3.9
add tagging and publishing of tag to Makefile
update version of Konnect and Kweb since they have been update meanwhile
2019-05-10 20:30:37 +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
1ef85eb1ba
Merge pull request #149 from fbartels/kopano-demo
add small modification for use on demo.kopano.com
2019-05-03 10:13:24 +02:00
Felix Bartels
51593d7c68 add small modification for use on demo.kopano.com
on demo systems one can now run `make build-webapp-demo` and then get a kopano_webapp container with added login hints

Signed-off-by: Felix Bartels <felix@host-consultants.de>
2019-05-03 10:05:03 +02:00
Felix Bartels
10a9f19689
add basic python image (#147)
* add basic python image

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

* add python image to tagging and publishing

Signed-off-by: Felix Bartels <felix@host-consultants.de>
2019-05-02 18:17:26 +02:00
Felix Bartels
f5cd9a2044
add the ldap containers to the ones being published (#148)
Signed-off-by: Felix Bartels <felix@host-consultants.de>
2019-05-02 15:19:06 +02:00
Felix Bartels
13dae1e734
some makefile linting fixes (#145)
Signed-off-by: Felix Bartels <felix@host-consultants.de>
2019-04-19 12:28:23 +02:00
Felix Bartels
1db616d24c remove smime, files and mdm version
as they are just "newest" when using the repo and are put in the file through dl_and_package_community when not
uniquely sort file to filter out duplicates
remove workaround from makefile

Signed-off-by: Felix Bartels <felix@host-consultants.de>
2019-04-18 22:18:30 +02:00
Felix Bartels
6b3ded8dfc
hotfix tagging of webapp builds (#143)
since the introduction of the php base image version information in the webapp container are doubled. by removing the build args from the php image at least there is no "newest" version any longer for webapp, but it still shows the version twice.

this introduces a hotfix for this behaviour.

Signed-off-by: Felix Bartels <felix@host-consultants.de>
2019-04-17 11:38:34 +02:00
Felix Bartels
a65e684463
add a common php image to base webapp, z-push and kdav on (#138)
* adapt webapp container for new php base image
* clean out webapp dockerfile
* complete switch of webapp to php-fpm
* update config in web container
* update readme
* remove logging config from docker-compose.yml
* add php container to tagging and publishing
2019-04-14 13:31:19 +02:00
Felix Bartels
b75403f69a
Smaller optimisations (#137)
* add docker pull to warm up build cache on travis
* explicitly build multi stage build stages
* make create repo script dynamic in the choice of the distribution
2019-04-05 08:48:32 -05:00
Felix Bartels
48e22da9d1
Rework php cfg handling a bit (#135)
* make sed matching a bit more strict
* append settings if not found instead of throwing error

fixes #133
2019-03-30 19:37:19 +01:00
Felix Bartels
92086807ce add missing publish for scheduler
Signed-off-by: Felix Bartels <felix@host-consultants.de>
2019-03-24 19:09:24 +01: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
Felix Bartels
6aff14c021
Check with travis if containers start (#113)
* move .env creation into install
rerun check-scripts after creation as well
* update docker-compose
* add simple test if containers start up
* redirect output of compose stop
2019-03-23 08:36:55 +01:00
Felix Bartels
4e367badc5
make webapp configurable from env (#112)
* make webapp configurable from env
inspired by https://github.com/mlan/docker-kopano/blob/master/assets/entrypoint.sh#L80-L92 and a7c2134347/meet/start-service.sh (L22-L27)
  * updating is in a dedicated function and has verbose error handling
* add documentation for env variables
2019-03-18 12:45:03 +01:00