* Allow to install extra packages
The string in line #20 is always zero, we should watch the return value of mkdir.
* fix more mkdir checks
Co-authored-by: peterfromthehill <peter@1qay.net>
* implement new env variable to disable all automatic actions
fixes https://github.com/zokradonh/kopano-docker/issues/360
* wrap the remaining services in checks if autoconfigure/disable_checks is used
* move definition of AUTOCONFIGURE variable into base image
* add logic to kapps and kdav container
* add autoconfigure to konnect container
* update build stage to latest golang
* add autoconfig to remaining images
* delete obsolete apache config in z-push folder
* when specifying config paths use KOPANO_CONFIG_PATH
* also use env variable in helper scripts
* add message about removal of kopano-cli
* Add container for kopano-spamd
* Authenticate version requests if needed
* Fix building of z-push for 'supported' base image
* Install kopano-spamd package by default
* Smaller fixes for kopano-spamd
* Fix missing file header
* simplify netrc usage
* 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
* 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
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
* 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
* 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>
* 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
* 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
* 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
* 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
* 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
* 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
* 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
* 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>
* 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
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)
* 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
* 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
* 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
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>
* 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
* 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
* 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.
* add hadolint for dockerfile linting
* add hadofile config
* add checks for dockerfiles and shellcheck into makefile
* shellcheck fixes
* add workaround so that .env can be sourced again from version.sh
* hadolint fixes
* print progress of build/run.sh
* fix check for jq in setup.sh
relates to #41 and #26
* add a new image for konnect
* add konnect to compose file
* adapt gencerts for konnect certs
* integrate gencerts into start.sh and adapt if to only skip individual parts
* add container for kapi
* use same config for webapp and z-push as https://stash.kopano.io/projects/KGOL/repos/kweb/browse/config/legacy.go
* use example compose file in make test target
* make compose file configurable through an env variable
* remove legacy links in compose
* write certificates first to a tempfile
* remove unnecessary paths
* add option to run kapi insecure for testing
* configure openid for kopano-server
* add local playground to test functionality of konnect and kapi
* print errors and logs to stdout in web
* add extrahosts to kopano_server
* adapt extrahosts for ip command on ubuntu 18.04
* add documentation
Signed-off-by: Felix Bartels <felix@host-consultants.de>
update Dockerfiles/Makefile for use with kopano supported build
introduce a local ldap image with some demo users
include caddy for reverse proxying
add proper documentation and remove obsolete build and push scripts
Signed-off-by: Felix Bartels <felix@host-consultants.de>