From 4bcb092266a3369aa224c4d604f1caf36439eda5 Mon Sep 17 00:00:00 2001 From: Felix Bartels Date: Tue, 11 Jun 2019 10:26:59 +0200 Subject: [PATCH] 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 --- .travis.yml | 2 +- Makefile | 135 +++++++++++++++++----------------- base/Dockerfile | 35 +++++---- core/Dockerfile | 33 ++++++--- kdav/Dockerfile | 30 ++++++-- konnect/Dockerfile | 12 +++ kwmserver/Dockerfile | 12 +++ ldap/Dockerfile | 12 +++ ldap_demo/Dockerfile | 2 + meet/Dockerfile | 30 ++++++-- php/Dockerfile | 33 ++++++--- playground/Dockerfile | 16 +++- python/Dockerfile | 33 ++++++--- scheduler/Dockerfile | 19 ++++- ssl/Dockerfile | 20 +++-- tests/startup-test/Dockerfile | 1 + utils/Dockerfile | 9 +++ web/Dockerfile | 12 +++ webapp/Dockerfile | 57 +++++++------- zpush/Dockerfile | 42 ++++++----- 20 files changed, 359 insertions(+), 186 deletions(-) diff --git a/.travis.yml b/.travis.yml index cbdeb48..040dcd9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,7 +23,7 @@ install: - make check-scripts - "./test.exp" - make check-scripts # rerun check-scripts to see if output is different with .env in place - - make build-all + - travis_retry make build-all script: - make test-ci deploy: diff --git a/Makefile b/Makefile index 9aea37f..b4e3abd 100644 --- a/Makefile +++ b/Makefile @@ -12,6 +12,7 @@ core_download_version := $(shell ./version.sh core) meet_download_version := $(shell ./version.sh meet) webapp_download_version := $(shell ./version.sh webapp) zpush_download_version := $(shell ./version.sh zpush) +vcf_ref := $(shell git rev-parse --short HEAD) KOPANO_CORE_REPOSITORY_URL := file:/kopano/repo/core KOPANO_MEET_REPOSITORY_URL := file:/kopano/repo/meet @@ -49,10 +50,10 @@ build: component ?= base build: ## Helper target to build a given image. Defaults to the "base" image. ifdef TRAVIS @echo "fetching previous build to warm up build cache (only on travis)" - docker pull $(docker_repo)/kopano_$(component) || true docker pull $(docker_repo)/kopano_$(component):builder || true endif docker build \ + --build-arg VCS_REF=$(vcf_ref) \ --build-arg docker_repo=${docker_repo} \ --build-arg KOPANO_CORE_VERSION=${core_download_version} \ --build-arg KOPANO_$(COMPONENT)_VERSION=${$(component)_download_version} \ @@ -67,23 +68,16 @@ endif --build-arg DOWNLOAD_COMMUNITY_PACKAGES=$(DOWNLOAD_COMMUNITY_PACKAGES) \ --build-arg ADDITIONAL_KOPANO_PACKAGES="$(ADDITIONAL_KOPANO_PACKAGES)" \ --build-arg ADDITIONAL_KOPANO_WEBAPP_PLUGINS="$(ADDITIONAL_KOPANO_WEBAPP_PLUGINS)" \ - --cache-from $(docker_repo)/kopano_$(component) \ --cache-from $(docker_repo)/kopano_$(component):builder \ -t $(docker_repo)/kopano_$(component) $(component)/ .PHONY: build-simple build-simple: component ?= ssl build-simple: ## Helper target to build a simplified image (no Kopano repo integration). -ifdef TRAVIS - @echo "fetching previous build to warm up build cache (only on travis)" - docker pull $(docker_repo)/kopano_$(component) || true - docker pull $(docker_repo)/kopano_$(component):builder || true -endif docker build \ - --cache-from $(docker_repo)/kopano_$(component) \ - --cache-from $(docker_repo)/kopano_$(component):builder \ - --build-arg docker_repo=$(docker_repo) \ - -t $(docker_repo)/kopano_$(component) $(component)/ + --build-arg VCS_REF=$(vcf_ref) \ + --build-arg docker_repo=$(docker_repo) \ + -t $(docker_repo)/kopano_$(component) $(component)/ .PHONY: build-builder build-builder: component ?= kdav @@ -93,30 +87,30 @@ ifdef TRAVIS docker pull $(docker_repo)/kopano_$(component):builder || true endif docker build --target builder \ - --build-arg docker_repo=${docker_repo} \ - --build-arg KOPANO_CORE_VERSION=${core_download_version} \ - --build-arg KOPANO_$(COMPONENT)_VERSION=${$(component)_download_version} \ - --build-arg KOPANO_CORE_REPOSITORY_URL=$(KOPANO_CORE_REPOSITORY_URL) \ - --build-arg KOPANO_MEET_REPOSITORY_URL=$(KOPANO_MEET_REPOSITORY_URL) \ - --build-arg KOPANO_WEBAPP_REPOSITORY_URL=$(KOPANO_WEBAPP_REPOSITORY_URL) \ - --build-arg KOPANO_WEBAPP_FILES_REPOSITORY_URL=$(KOPANO_WEBAPP_FILES_REPOSITORY_URL) \ - --build-arg KOPANO_WEBAPP_MDM_REPOSITORY_URL=$(KOPANO_WEBAPP_MDM_REPOSITORY_URL) \ - --build-arg KOPANO_WEBAPP_SMIME_REPOSITORY_URL=$(KOPANO_WEBAPP_SMIME_REPOSITORY_URL) \ - --build-arg KOPANO_ZPUSH_REPOSITORY_URL=$(KOPANO_ZPUSH_REPOSITORY_URL) \ - --build-arg RELEASE_KEY_DOWNLOAD=$(RELEASE_KEY_DOWNLOAD) \ - --build-arg DOWNLOAD_COMMUNITY_PACKAGES=$(DOWNLOAD_COMMUNITY_PACKAGES) \ - --build-arg ADDITIONAL_KOPANO_PACKAGES="$(ADDITIONAL_KOPANO_PACKAGES)" \ - --build-arg ADDITIONAL_KOPANO_WEBAPP_PLUGINS="$(ADDITIONAL_KOPANO_WEBAPP_PLUGINS)" \ - --cache-from $(docker_repo)/kopano_$(component) \ - --cache-from $(docker_repo)/kopano_$(component):builder \ - -t $(docker_repo)/kopano_$(component):builder $(component)/ - @echo $(docker_repo)/kopano_$(component):builder >> $(TAG_FILE) + --build-arg VCS_REF=$(vcf_ref) \ + --build-arg docker_repo=${docker_repo} \ + --build-arg KOPANO_CORE_VERSION=${core_download_version} \ + --build-arg KOPANO_$(COMPONENT)_VERSION=${$(component)_download_version} \ + --build-arg KOPANO_CORE_REPOSITORY_URL=$(KOPANO_CORE_REPOSITORY_URL) \ + --build-arg KOPANO_MEET_REPOSITORY_URL=$(KOPANO_MEET_REPOSITORY_URL) \ + --build-arg KOPANO_WEBAPP_REPOSITORY_URL=$(KOPANO_WEBAPP_REPOSITORY_URL) \ + --build-arg KOPANO_WEBAPP_FILES_REPOSITORY_URL=$(KOPANO_WEBAPP_FILES_REPOSITORY_URL) \ + --build-arg KOPANO_WEBAPP_MDM_REPOSITORY_URL=$(KOPANO_WEBAPP_MDM_REPOSITORY_URL) \ + --build-arg KOPANO_WEBAPP_SMIME_REPOSITORY_URL=$(KOPANO_WEBAPP_SMIME_REPOSITORY_URL) \ + --build-arg KOPANO_ZPUSH_REPOSITORY_URL=$(KOPANO_ZPUSH_REPOSITORY_URL) \ + --build-arg RELEASE_KEY_DOWNLOAD=$(RELEASE_KEY_DOWNLOAD) \ + --build-arg DOWNLOAD_COMMUNITY_PACKAGES=$(DOWNLOAD_COMMUNITY_PACKAGES) \ + --build-arg ADDITIONAL_KOPANO_PACKAGES="$(ADDITIONAL_KOPANO_PACKAGES)" \ + --build-arg ADDITIONAL_KOPANO_WEBAPP_PLUGINS="$(ADDITIONAL_KOPANO_WEBAPP_PLUGINS)" \ + --cache-from $(docker_repo)/kopano_$(component):builder \ + -t $(docker_repo)/kopano_$(component):builder $(component)/ + @echo $(docker_repo)/kopano_$(component):builder >> $(TAG_FILE) build-base: ## Build new base image. docker pull debian:stretch component=base make build -build-core: build-base +build-core: component=core make build build-konnect: @@ -128,13 +122,13 @@ build-kwmserver: build-ldap: component=ldap make build-simple -build-ldap-demo: build-ldap +build-ldap-demo: component=ldap_demo make build-simple -build-meet: build-base +build-meet: component=meet make build -build-php: build-base +build-php: component=php make build build-playground: @@ -145,22 +139,25 @@ build-python: component=python make build build-kdav: + docker pull composer:1.8 component=kdav make build-builder component=kdav make build build-scheduler: + docker pull docker:18.09 component=scheduler make build-simple build-ssl: + docker pull alpine:3.9 component=ssl make build-simple -build-utils: build-core +build-utils: component=utils make build build-web: component=web make build-simple -build-webapp: build-php +build-webapp: component=webapp make build build-webapp-demo: ## Replaces the actual kopano_webapp container with one that has login hints for demo.kopano.com. @@ -187,74 +184,74 @@ tag-container: ## Helper target to tag a given image. Defaults to the base image tag-base: $(eval base_version := \ - $(shell docker run --rm $(docker_repo)/kopano_base cat /kopano/buildversion)) + $(shell docker inspect --format '{{ index .Config.Labels "org.label-schema.version"}}' $(docker_repo)/kopano_base)) component=base make tag-container tag-core: $(eval core_version := \ - $(shell docker run --rm $(docker_repo)/kopano_core cat /kopano/buildversion | cut -d- -f2)) + $(shell docker inspect --format '{{ index .Config.Labels "org.label-schema.version"}}' $(docker_repo)/kopano_core | cut -d+ -f1)) component=core make tag-container tag-konnect: $(eval konnect_version := \ - $(shell docker run --rm $(docker_repo)/kopano_konnect env | grep CODE_VERSION | cut -d'=' -f2)) + $(shell docker inspect --format '{{ index .Config.Labels "org.label-schema.version"}}' $(docker_repo)/kopano_konnect)) component=konnect make tag-container tag-kwmserver: $(eval kwmserver_version := \ - $(shell docker run --rm $(docker_repo)/kopano_kwmserver env | grep CODE_VERSION | cut -d'=' -f2)) + $(shell docker inspect --format '{{ index .Config.Labels "org.label-schema.version"}}' $(docker_repo)/kopano_kwmserver)) component=kwmserver make tag-container tag-ldap: $(eval ldap_version := \ - $(shell docker run --rm $(docker_repo)/kopano_ldap env | grep CODE_VERSION | cut -d'=' -f2)) + $(shell docker inspect --format '{{ index .Config.Labels "org.label-schema.version"}}' $(docker_repo)/kopano_ldap)) component=ldap make tag-container $(eval ldap_demo_version := $(ldap_version)) component=ldap_demo make tag-container tag-meet: $(eval meet_version := \ - $(shell docker run --rm $(docker_repo)/kopano_meet cat /kopano/buildversion | grep meet | cut -d- -f2 | cut -d+ -f1)) + $(shell docker inspect --format '{{ index .Config.Labels "org.label-schema.version"}}' $(docker_repo)/kopano_meet | cut -d+ -f1)) component=meet make tag-container tag-php: $(eval php_version := \ - $(shell docker run --rm $(docker_repo)/kopano_php cat /kopano/buildversion | cut -d- -f2)) + $(shell docker inspect --format '{{ index .Config.Labels "org.label-schema.version"}}' $(docker_repo)/kopano_php | cut -d- -f1)) component=php make tag-container tag-python: $(eval python_version := \ - $(shell docker run --rm $(docker_repo)/kopano_python cat /kopano/buildversion | cut -d- -f2)) + $(shell docker inspect --format '{{ index .Config.Labels "org.label-schema.version"}}' $(docker_repo)/kopano_python | cut -d- -f1)) component=python make tag-container tag-scheduler: $(eval scheduler_version := \ - $(shell docker run --rm $(docker_repo)/kopano_scheduler env | grep SUPERCRONIC_VERSION | cut -d'=' -f2)) + $(shell docker inspect --format '{{ index .Config.Labels "org.label-schema.version"}}' $(docker_repo)/kopano_scheduler)) component=scheduler make tag-container tag-ssl: $(eval ssl_version := \ - $(shell docker run --rm $(docker_repo)/kopano_ssl env | grep CODE_VERSION | cut -d'=' -f2)) + $(shell docker inspect --format '{{ index .Config.Labels "org.label-schema.version"}}' $(docker_repo)/kopano_ssl)) component=ssl make tag-container tag-utils: $(eval utils_version := \ - $(shell docker run --rm $(docker_repo)/kopano_utils cat /kopano/buildversion | cut -d- -f2)) + $(shell docker inspect --format '{{ index .Config.Labels "org.label-schema.version"}}' $(docker_repo)/kopano_utils | cut -d- -f1)) component=utils make tag-container tag-web: $(eval web_version := \ - $(shell docker run --rm $(docker_repo)/kopano_web env | grep CODE_VERSION | cut -d'=' -f2)) + $(shell docker inspect --format '{{ index .Config.Labels "org.label-schema.version"}}' $(docker_repo)/kopano_web)) component=web make tag-container tag-webapp: $(eval webapp_version := \ - $(shell docker run --rm $(docker_repo)/kopano_webapp cat /kopano/buildversion | grep webapp | cut -d- -f2 | cut -d+ -f1)) + $(shell docker inspect --format '{{ index .Config.Labels "org.label-schema.version"}}' $(docker_repo)/kopano_webapp | cut -d+ -f1)) component=webapp make tag-container tag-zpush: $(eval zpush_version := \ - $(shell docker run --rm $(docker_repo)/kopano_zpush cat /kopano/buildversion | tail -n 1 | grep -o -P '(?<=-).*(?=\+)')) + $(shell docker inspect --format '{{ index .Config.Labels "org.label-schema.version"}}' $(docker_repo)/kopano_zpush | cut -d+ -f1)) component=zpush make tag-container # Docker publish @@ -271,57 +268,57 @@ publish-container: ## Helper target to push a given image to a registry. Default docker push $(docker_repo)/kopano_$(component):${$(component)_version} docker push $(docker_repo)/kopano_$(component):latest -publish-base: build-base tag-base +publish-base: tag-base component=base make publish-container -publish-core: build-core tag-core +publish-core: tag-core component=core make publish-container -publish-konnect: build-konnect tag-konnect +publish-konnect: tag-konnect component=konnect make publish-container -publish-kwmserver: build-kwmserver tag-kwmserver +publish-kwmserver: tag-kwmserver component=kwmserver make publish-container -publish-ldap: build-ldap - docker push $(docker_repo)/kopano_ldap:latest +publish-ldap: tag-ldap + component=ldap make publish-container -publish-ldap-demo: build-ldap-demo - docker push $(docker_repo)/kopano_ldap_demo:latest +publish-ldap-demo: tag-ldap + component=ldap_demo make publish-container -publish-meet: build-meet tag-meet +publish-meet: tag-meet component=meet make publish-container -publish-php: build-php tag-php +publish-php: tag-php component=php make publish-container -publish-playground: build-playground +publish-playground: docker push $(docker_repo)/kopano_playground:latest docker push $(docker_repo)/kopano_playground:builder -publish-python: build-python tag-python +publish-python: tag-python component=python make publish-container -publish-kdav: build-kdav #tag-kdav +publish-kdav: #tag-kdav docker push $(docker_repo)/kopano_kdav:latest docker push $(docker_repo)/kopano_kdav:builder -publish-scheduler: build-scheduler tag-scheduler +publish-scheduler: tag-scheduler component=scheduler make publish-container -publish-ssl: build-ssl tag-ssl - component=scheduler make publish-container +publish-ssl: tag-ssl + component=ssl make publish-container -publish-utils: build-utils tag-utils +publish-utils: tag-utils component=utils make publish-container -publish-web: build-web tag-web +publish-web: tag-web component=web make publish-container -publish-webapp: build-webapp tag-webapp +publish-webapp: tag-webapp component=webapp make publish-container -publish-zpush: build-zpush tag-zpush +publish-zpush: tag-zpush component=zpush make publish-container check-scripts: diff --git a/base/Dockerfile b/base/Dockerfile index 3270afe..d96e5a9 100644 --- a/base/Dockerfile +++ b/base/Dockerfile @@ -1,17 +1,33 @@ FROM debian:stretch -LABEL maintainer=az@zok.xyz \ - version="2.0" +ARG VCS_REF +ARG ADDITIONAL_KOPANO_PACKAGES="" +ARG DOWNLOAD_COMMUNITY_PACKAGES=1 +ARG KOPANO_CORE_REPOSITORY_URL="file:/kopano/repo/core" +ARG KOPANO_CORE_VERSION=newest +ARG KOPANO_REPOSITORY_FLAGS="trusted=yes" +ARG RELEASE_KEY_DOWNLOAD=0 +ARG DEBIAN_FRONTEND=noninteractive -ENV BASE_VERSION=1.0 +ENV BASE_VERSION=1.1.0 + +LABEL maintainer=az@zok.xyz \ + org.label-schema.name="Kopano base container" \ + org.label-schema.description="Base image for containers running the Kopano groupware stack" \ + org.label-schema.url="https://kopano.io" \ + org.label-schema.vcs-ref=$VCS_REF \ + org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \ + org.label-schema.version=$BASE_VERSION \ + org.label-schema.schema-version="1.0" + +SHELL ["/bin/bash", "-o", "pipefail", "-c"] RUN mkdir -p /kopano/repo /kopano/data /kopano/helper /kopano/path WORKDIR /kopano/repo -ARG DEBIAN_FRONTEND=noninteractive - # install basics # TODO require python3 or python3-minimal? +# TODO install apt keys if supported kopano (instead of in core, php, meet, ...) # hadolint ignore=DL3005 RUN apt-get update && \ apt-get upgrade -y && \ @@ -34,20 +50,11 @@ RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \ dpkg-reconfigure --frontend=noninteractive locales && \ update-locale LANG=en_US.UTF-8 -SHELL ["/bin/bash", "-o", "pipefail", "-c"] ENV DOCKERIZE_VERSION v0.6.1 RUN curl -L https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz | tar xzvf - -C /usr/local/bin -ARG ADDITIONAL_KOPANO_PACKAGES="" -ARG DOWNLOAD_COMMUNITY_PACKAGES=1 -ARG KOPANO_CORE_REPOSITORY_URL="file:/kopano/repo/core" -ARG KOPANO_CORE_VERSION=newest -ARG KOPANO_REPOSITORY_FLAGS="trusted=yes" -ARG RELEASE_KEY_DOWNLOAD=0 - # get common utilities COPY create-kopano-repo.sh /kopano/helper/ COPY kcconf.py /kopano/ -RUN echo $BASE_VERSION > /kopano/buildversion SHELL [ "/bin/bash", "-c"] diff --git a/core/Dockerfile b/core/Dockerfile index d407fea..fa2e077 100644 --- a/core/Dockerfile +++ b/core/Dockerfile @@ -1,20 +1,31 @@ ARG docker_repo=zokradonh FROM ${docker_repo}/kopano_base -ARG DEBIAN_FRONTEND=noninteractive - +ARG VCS_REF ARG ADDITIONAL_KOPANO_PACKAGES="" -ENV ADDITIONAL_KOPANO_PACKAGES=$ADDITIONAL_KOPANO_PACKAGES ARG DOWNLOAD_COMMUNITY_PACKAGES=1 -ENV DOWNLOAD_COMMUNITY_PACKAGES=$DOWNLOAD_COMMUNITY_PACKAGES -ARG KOPANO_CORE_REPOSITORY_URL="file:/kopano/repo/core" -ENV KOPANO_CORE_REPOSITORY_URL=$KOPANO_CORE_REPOSITORY_URL -ARG KOPANO_CORE_VERSION=newest -ENV KOPANO_CORE_VERSION=$KOPANO_CORE_VERSION ARG KOPANO_REPOSITORY_FLAGS="trusted=yes" -ENV KOPANO_REPOSITORY_FLAGS=$KOPANO_REPOSITORY_FLAGS ARG RELEASE_KEY_DOWNLOAD=0 -ENV RELEASE_KEY_DOWNLOAD=$RELEASE_KEY_DOWNLOAD +ARG DEBIAN_FRONTEND=noninteractive +ARG KOPANO_CORE_REPOSITORY_URL="file:/kopano/repo/core" +ARG KOPANO_CORE_VERSION=newest + +ENV \ + ADDITIONAL_KOPANO_PACKAGES=$ADDITIONAL_KOPANO_PACKAGES \ + DOWNLOAD_COMMUNITY_PACKAGES=$DOWNLOAD_COMMUNITY_PACKAGES \ + KOPANO_CORE_REPOSITORY_URL=$KOPANO_CORE_REPOSITORY_URL \ + KOPANO_CORE_VERSION=$KOPANO_CORE_VERSION \ + KOPANO_REPOSITORY_FLAGS=$KOPANO_REPOSITORY_FLAGS \ + RELEASE_KEY_DOWNLOAD=$RELEASE_KEY_DOWNLOAD + +LABEL maintainer=az@zok.xyz \ + org.label-schema.name="Kopano core container" \ + org.label-schema.description="Container for running applications out of Kopano Groupware Core" \ + org.label-schema.url="https://kopano.io" \ + org.label-schema.vcs-ref=$VCS_REF \ + org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \ + org.label-schema.version=$KOPANO_CORE_VERSION \ + org.label-schema.schema-version="1.0" SHELL ["/bin/bash", "-o", "pipefail", "-c"] @@ -26,8 +37,6 @@ RUN \ dl_and_package_community "core"; \ fi; \ echo "deb [${KOPANO_REPOSITORY_FLAGS}] ${KOPANO_CORE_REPOSITORY_URL} ./" > /etc/apt/sources.list.d/kopano.list; \ - # save kopano version - echo "core-${KOPANO_CORE_VERSION}" > /kopano/buildversion; \ # install apt key if supported kopano if [ ${RELEASE_KEY_DOWNLOAD} -eq 1 ]; then \ curl -s -S -o - "${KOPANO_CORE_REPOSITORY_URL}/Release.key" | apt-key add -; \ diff --git a/kdav/Dockerfile b/kdav/Dockerfile index e02fbf1..990ceac 100644 --- a/kdav/Dockerfile +++ b/kdav/Dockerfile @@ -7,16 +7,32 @@ RUN composer install FROM ${docker_repo}/kopano_base -ARG DEBIAN_FRONTEND=noninteractive - +ARG VCS_REF ARG ADDITIONAL_KOPANO_PACKAGES="" ARG DOWNLOAD_COMMUNITY_PACKAGES=1 -ARG KOPANO_CORE_REPOSITORY_URL="file:/kopano/repo/core" ARG KOPANO_REPOSITORY_FLAGS="trusted=yes" -ARG KOPANO_CORE_VERSION=newest ARG RELEASE_KEY_DOWNLOAD=0 +ARG DEBIAN_FRONTEND=noninteractive +ARG KOPANO_CORE_REPOSITORY_URL="file:/kopano/repo/core" +ARG KOPANO_CORE_VERSION=newest -# install Kopano WebApp and refresh ca-certificates +ENV \ + ADDITIONAL_KOPANO_PACKAGES=$ADDITIONAL_KOPANO_PACKAGES \ + DOWNLOAD_COMMUNITY_PACKAGES=$DOWNLOAD_COMMUNITY_PACKAGES \ + KOPANO_CORE_REPOSITORY_URL=$KOPANO_CORE_REPOSITORY_URL \ + KOPANO_CORE_VERSION=$KOPANO_CORE_VERSION \ + KOPANO_REPOSITORY_FLAGS=$KOPANO_REPOSITORY_FLAGS \ + RELEASE_KEY_DOWNLOAD=$RELEASE_KEY_DOWNLOAD + +LABEL maintainer=az@zok.xyz \ + org.label-schema.name="Kopano kDAV container" \ + org.label-schema.description="Container for running Kopano kDAV" \ + org.label-schema.url="https://kopano.io" \ + org.label-schema.vcs-ref=$VCS_REF \ + org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \ + org.label-schema.schema-version="1.0" + +# install Kopano kDAV and refresh ca-certificates RUN \ # community download and package as apt source repository . /kopano/helper/create-kopano-repo.sh && \ @@ -24,8 +40,6 @@ RUN \ dl_and_package_community "core"; \ fi; \ echo "deb [${KOPANO_REPOSITORY_FLAGS}] ${KOPANO_CORE_REPOSITORY_URL} ./" > /etc/apt/sources.list.d/kopano.list; \ - # save kopano version - echo "core-${KOPANO_CORE_VERSION}" > /kopano/buildversion; \ set -x && \ apt-get update && apt-get install -y --no-install-recommends \ apache2 \ @@ -34,7 +48,7 @@ RUN \ php7-mapi \ php-xml \ php-mbstring \ - php-zip \ + php-zip \ sqlite \ php-sqlite3 \ ca-certificates \ diff --git a/konnect/Dockerfile b/konnect/Dockerfile index cc6cd09..41270d4 100644 --- a/konnect/Dockerfile +++ b/konnect/Dockerfile @@ -1,8 +1,20 @@ ARG CODE_VERSION=0.23.4 FROM kopano/konnectd:${CODE_VERSION} + +ARG VCS_REF ARG CODE_VERSION + ENV CODE_VERSION="${CODE_VERSION}" +LABEL maintainer=az@zok.xyz \ + org.label-schema.name="Kopano Konnect container" \ + org.label-schema.description="Container for running Kopano Konnect" \ + org.label-schema.url="https://kopano.io" \ + org.label-schema.vcs-ref=$VCS_REF \ + org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \ + org.label-schema.version=$CODE_VERSION \ + org.label-schema.schema-version="1.0" + RUN apk add --no-cache \ jq \ moreutils \ diff --git a/kwmserver/Dockerfile b/kwmserver/Dockerfile index f6fcfa9..17280b9 100644 --- a/kwmserver/Dockerfile +++ b/kwmserver/Dockerfile @@ -1,8 +1,20 @@ ARG CODE_VERSION=0.15.3 FROM kopano/kwmserverd:${CODE_VERSION} + +ARG VCS_REF ARG CODE_VERSION + ENV CODE_VERSION="${CODE_VERSION}" +LABEL maintainer=az@zok.xyz \ + org.label-schema.name="Kopano Kwmserver container" \ + org.label-schema.description="Container for running Kopano Kwmserver (WebRTC signalling server)" \ + org.label-schema.url="https://kopano.io" \ + org.label-schema.vcs-ref=$VCS_REF \ + org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \ + org.label-schema.version=$CODE_VERSION \ + org.label-schema.schema-version="1.0" + USER root ENV DOCKERIZE_VERSION v0.6.1 diff --git a/ldap/Dockerfile b/ldap/Dockerfile index 3f9f6b5..8d22d2a 100644 --- a/ldap/Dockerfile +++ b/ldap/Dockerfile @@ -1,8 +1,20 @@ ARG CODE_VERSION=1.2.4 FROM osixia/openldap:${CODE_VERSION} + +ARG VCS_REF ARG CODE_VERSION + ENV CODE_VERSION="${CODE_VERSION}" +LABEL maintainer=az@zok.xyz \ + org.label-schema.name="Kopano LDAP container" \ + org.label-schema.description="Container for running OpenLDAP, which already has the Kopano schema included." \ + org.label-schema.url="https://kopano.io" \ + org.label-schema.vcs-ref=$VCS_REF \ + org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \ + org.label-schema.version=$CODE_VERSION \ + org.label-schema.schema-version="1.0" + COPY bootstrap /container/service/slapd/assets/config/bootstrap RUN rm /container/service/slapd/assets/config/bootstrap/schema/mmc/mail.schema RUN touch /etc/ldap/slapd.conf diff --git a/ldap_demo/Dockerfile b/ldap_demo/Dockerfile index c064224..991ab8a 100644 --- a/ldap_demo/Dockerfile +++ b/ldap_demo/Dockerfile @@ -1,4 +1,6 @@ ARG docker_repo=zokradonh FROM ${docker_repo}/kopano_ldap +LABEL org.label-schema.description="Container for running OpenLDAP, which already has the Kopano schema included as well as users to easily demo the enviroment." + COPY bootstrap /container/service/slapd/assets/config/bootstrap diff --git a/meet/Dockerfile b/meet/Dockerfile index 3ffd6e6..de0f9d6 100644 --- a/meet/Dockerfile +++ b/meet/Dockerfile @@ -1,14 +1,34 @@ ARG docker_repo=zokradonh FROM ${docker_repo}/kopano_base:latest -ARG DEBIAN_FRONTEND=noninteractive - +ARG VCS_REF ARG ADDITIONAL_KOPANO_PACKAGES="" ARG DOWNLOAD_COMMUNITY_PACKAGES=1 -ARG KOPANO_MEET_REPOSITORY_URL="file:/kopano/repo/meet" -ARG KOPANO_MEET_VERSION=newest ARG KOPANO_REPOSITORY_FLAGS="trusted=yes" ARG RELEASE_KEY_DOWNLOAD=0 +ARG DEBIAN_FRONTEND=noninteractive +ARG KOPANO_CORE_REPOSITORY_URL="file:/kopano/repo/core" +ARG KOPANO_CORE_VERSION=newest +ARG KOPANO_MEET_REPOSITORY_URL="file:/kopano/repo/meet" +ARG KOPANO_MEET_VERSION=newest +ENV KOPANO_MEET_VERSION=$KOPANO_MEET_VERSION + +ENV \ + ADDITIONAL_KOPANO_PACKAGES=$ADDITIONAL_KOPANO_PACKAGES \ + DOWNLOAD_COMMUNITY_PACKAGES=$DOWNLOAD_COMMUNITY_PACKAGES \ + KOPANO_CORE_REPOSITORY_URL=$KOPANO_CORE_REPOSITORY_URL \ + KOPANO_CORE_VERSION=$KOPANO_CORE_VERSION \ + KOPANO_REPOSITORY_FLAGS=$KOPANO_REPOSITORY_FLAGS \ + RELEASE_KEY_DOWNLOAD=$RELEASE_KEY_DOWNLOAD + +LABEL maintainer=az@zok.xyz \ + org.label-schema.name="Kopano Meet container" \ + org.label-schema.description="Container for running Kopano Meet" \ + org.label-schema.url="https://kopano.io" \ + org.label-schema.vcs-ref=$VCS_REF \ + org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \ + org.label-schema.version=$KOPANO_MEET_VERSION \ + org.label-schema.schema-version="1.0" SHELL ["/bin/bash", "-o", "pipefail", "-c"] @@ -20,8 +40,6 @@ RUN \ dl_and_package_community "meet"; \ fi; \ echo "deb [${KOPANO_REPOSITORY_FLAGS}] ${KOPANO_MEET_REPOSITORY_URL} ./" > /etc/apt/sources.list.d/kopano.list; \ - # save kopano version - echo "meet-${KOPANO_MEET_VERSION}" > /kopano/buildversion; \ # install apt key if supported kopano if [ ${RELEASE_KEY_DOWNLOAD} -eq 1 ]; then \ curl -s -S -o - "${KOPANO_MEET_REPOSITORY_URL}/Release.key" | apt-key add -; \ diff --git a/php/Dockerfile b/php/Dockerfile index bd6b37d..287761d 100644 --- a/php/Dockerfile +++ b/php/Dockerfile @@ -1,20 +1,31 @@ ARG docker_repo=zokradonh FROM ${docker_repo}/kopano_base -ARG DEBIAN_FRONTEND=noninteractive - +ARG VCS_REF ARG ADDITIONAL_KOPANO_PACKAGES="" -ENV ADDITIONAL_KOPANO_PACKAGES=$ADDITIONAL_KOPANO_PACKAGES ARG DOWNLOAD_COMMUNITY_PACKAGES=1 -ENV DOWNLOAD_COMMUNITY_PACKAGES=$DOWNLOAD_COMMUNITY_PACKAGES -ARG KOPANO_CORE_REPOSITORY_URL="file:/kopano/repo/core" -ENV KOPANO_CORE_REPOSITORY_URL=$KOPANO_CORE_REPOSITORY_URL ARG KOPANO_REPOSITORY_FLAGS="trusted=yes" -ENV KOPANO_REPOSITORY_FLAGS=$KOPANO_REPOSITORY_FLAGS -ARG KOPANO_CORE_VERSION=newest -ENV KOPANO_CORE_VERSION=$KOPANO_CORE_VERSION ARG RELEASE_KEY_DOWNLOAD=0 -ENV RELEASE_KEY_DOWNLOAD=$RELEASE_KEY_DOWNLOAD +ARG DEBIAN_FRONTEND=noninteractive +ARG KOPANO_CORE_REPOSITORY_URL="file:/kopano/repo/core" +ARG KOPANO_CORE_VERSION=newest + +ENV \ + ADDITIONAL_KOPANO_PACKAGES=$ADDITIONAL_KOPANO_PACKAGES \ + DOWNLOAD_COMMUNITY_PACKAGES=$DOWNLOAD_COMMUNITY_PACKAGES \ + KOPANO_CORE_REPOSITORY_URL=$KOPANO_CORE_REPOSITORY_URL \ + KOPANO_CORE_VERSION=$KOPANO_CORE_VERSION \ + KOPANO_REPOSITORY_FLAGS=$KOPANO_REPOSITORY_FLAGS \ + RELEASE_KEY_DOWNLOAD=$RELEASE_KEY_DOWNLOAD + +LABEL maintainer=az@zok.xyz \ + org.label-schema.name="Kopano php container" \ + org.label-schema.description="Base container for running php based applications based on Kopano Groupware Core" \ + org.label-schema.url="https://kopano.io" \ + org.label-schema.vcs-ref=$VCS_REF \ + org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \ + org.label-schema.version=$KOPANO_CORE_VERSION \ + org.label-schema.schema-version="1.0" SHELL ["/bin/bash", "-o", "pipefail", "-c"] @@ -27,8 +38,6 @@ RUN \ dl_and_package_community "core"; \ fi; \ echo "deb [${KOPANO_REPOSITORY_FLAGS}] ${KOPANO_CORE_REPOSITORY_URL} ./" > /etc/apt/sources.list.d/kopano.list; \ - # save kopano version - echo "core-${KOPANO_CORE_VERSION}" > /kopano/buildversion; \ # install apt keys if supported kopano if [ ${RELEASE_KEY_DOWNLOAD} -eq 1 ]; then \ curl -s -S -o - "${KOPANO_CORE_REPOSITORY_URL}/Release.key" | apt-key add -; \ diff --git a/playground/Dockerfile b/playground/Dockerfile index 1e055e7..0981691 100644 --- a/playground/Dockerfile +++ b/playground/Dockerfile @@ -1,4 +1,5 @@ -from alpine:3.8 as builder +from alpine:3.9 as builder + RUN apk add --no-cache \ git make RUN mkdir -p /web/oidc-playground /web/kapi-playground @@ -10,5 +11,18 @@ WORKDIR /web/kapi-playground RUN rm Makefile && ln -s oidc-client-example.html index.html from halverneus/static-file-server:v1.5.2 + +ARG VCS_REF +ARG CODE_VERSION + env PORT 8888 + +LABEL maintainer=az@zok.xyz \ + org.label-schema.name="Kopano Playground" \ + org.label-schema.description="Container for running Kopano playground applications for Kapi and OIDC" \ + org.label-schema.url="https://kopano.io" \ + org.label-schema.vcs-ref=$VCS_REF \ + org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \ + org.label-schema.schema-version="1.0" + COPY --from=builder /web /web diff --git a/python/Dockerfile b/python/Dockerfile index 965195e..0cbf554 100644 --- a/python/Dockerfile +++ b/python/Dockerfile @@ -1,20 +1,31 @@ ARG docker_repo=zokradonh FROM ${docker_repo}/kopano_base -ARG DEBIAN_FRONTEND=noninteractive - +ARG VCS_REF ARG ADDITIONAL_KOPANO_PACKAGES="" -ENV ADDITIONAL_KOPANO_PACKAGES=$ADDITIONAL_KOPANO_PACKAGES ARG DOWNLOAD_COMMUNITY_PACKAGES=1 -ENV DOWNLOAD_COMMUNITY_PACKAGES=$DOWNLOAD_COMMUNITY_PACKAGES -ARG KOPANO_CORE_REPOSITORY_URL="file:/kopano/repo/core" -ENV KOPANO_CORE_REPOSITORY_URL=$KOPANO_CORE_REPOSITORY_URL ARG KOPANO_REPOSITORY_FLAGS="trusted=yes" -ENV KOPANO_REPOSITORY_FLAGS=$KOPANO_REPOSITORY_FLAGS -ARG KOPANO_CORE_VERSION=newest -ENV KOPANO_CORE_VERSION=$KOPANO_CORE_VERSION ARG RELEASE_KEY_DOWNLOAD=0 -ENV RELEASE_KEY_DOWNLOAD=$RELEASE_KEY_DOWNLOAD +ARG DEBIAN_FRONTEND=noninteractive +ARG KOPANO_CORE_REPOSITORY_URL="file:/kopano/repo/core" +ARG KOPANO_CORE_VERSION=newest + +ENV \ + ADDITIONAL_KOPANO_PACKAGES=$ADDITIONAL_KOPANO_PACKAGES \ + DOWNLOAD_COMMUNITY_PACKAGES=$DOWNLOAD_COMMUNITY_PACKAGES \ + KOPANO_CORE_REPOSITORY_URL=$KOPANO_CORE_REPOSITORY_URL \ + KOPANO_CORE_VERSION=$KOPANO_CORE_VERSION \ + KOPANO_REPOSITORY_FLAGS=$KOPANO_REPOSITORY_FLAGS \ + RELEASE_KEY_DOWNLOAD=$RELEASE_KEY_DOWNLOAD + +LABEL maintainer=az@zok.xyz \ + org.label-schema.name="Kopano Python container" \ + org.label-schema.description="Container for running python based applications for Kopano Groupware Core" \ + org.label-schema.url="https://kopano.io" \ + org.label-schema.vcs-ref=$VCS_REF \ + org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \ + org.label-schema.version=$KOPANO_CORE_VERSION \ + org.label-schema.schema-version="1.0" SHELL ["/bin/bash", "-o", "pipefail", "-c"] @@ -27,8 +38,6 @@ RUN \ dl_and_package_community "core"; \ fi; \ echo "deb [${KOPANO_REPOSITORY_FLAGS}] ${KOPANO_CORE_REPOSITORY_URL} ./" > /etc/apt/sources.list.d/kopano.list; \ - # save kopano version - echo "core-${KOPANO_CORE_VERSION}" > /kopano/buildversion; \ # install apt keys if supported kopano if [ ${RELEASE_KEY_DOWNLOAD} -eq 1 ]; then \ curl -s -S -o - "${KOPANO_CORE_REPOSITORY_URL}/Release.key" | apt-key add -; \ diff --git a/scheduler/Dockerfile b/scheduler/Dockerfile index 5b7f448..2cc7bfa 100644 --- a/scheduler/Dockerfile +++ b/scheduler/Dockerfile @@ -1,13 +1,26 @@ -FROM docker:18.09.1 +FROM docker:18.09 + +ARG VCS_REF + +ENV \ + DOCKERIZE_VERSION=v0.6.1 \ + SUPERCRONIC_VERSION=0.1.9 + +LABEL maintainer=az@zok.xyz \ + org.label-schema.name="Kopano scheduler container" \ + org.label-schema.description="Helper container for running tasks within the Kopano stack" \ + org.label-schema.url="https://kopano.io" \ + org.label-schema.vcs-ref=$VCS_REF \ + org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \ + org.label-schema.version=$SUPERCRONIC_VERSION \ + org.label-schema.schema-version="1.0" RUN apk --no-cache add bash -ENV SUPERCRONIC_VERSION 0.1.8 RUN wget https://github.com/aptible/supercronic/releases/download/v${SUPERCRONIC_VERSION}/supercronic-linux-amd64 \ -O /usr/local/bin/supercronic \ && chmod +x /usr/local/bin/supercronic -ENV DOCKERIZE_VERSION v0.6.1 RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz \ && tar -C /usr/local/bin -xzvf dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz \ && rm dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz diff --git a/ssl/Dockerfile b/ssl/Dockerfile index 8bfd784..1917ada 100644 --- a/ssl/Dockerfile +++ b/ssl/Dockerfile @@ -1,16 +1,24 @@ FROM alpine:3.9 -ENV CODE_VERSION=1.0 + +ARG VCS_REF + +ENV CODE_VERSION=1.0.1 \ + PKI_ROOT=/kopano/easypki \ + PKI_ORGANIZATION="Internal Kopano System" \ + PKI_COUNTRY=DE LABEL maintainer=az@zok.xyz \ - version="1.0" + org.label-schema.name="Kopano SSL container" \ + org.label-schema.description="Helper Container for carrying out ssl related activities for the Kopano stack." \ + org.label-schema.url="https://kopano.io" \ + org.label-schema.vcs-ref=$VCS_REF \ + org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \ + org.label-schema.version=$CODE_VERSION \ + org.label-schema.schema-version="1.0" RUN mkdir -p /kopano/easypki /kopano/ssl /kopano/ssl/clients WORKDIR /kopano/easypki -ENV PKI_ROOT /kopano/easypki -ENV PKI_ORGANIZATION Internal Kopano System -ENV PKI_COUNTRY DE - RUN apk add --no-cache \ easypki \ openssl diff --git a/tests/startup-test/Dockerfile b/tests/startup-test/Dockerfile index 2b5afbf..db1b6f0 100644 --- a/tests/startup-test/Dockerfile +++ b/tests/startup-test/Dockerfile @@ -1,6 +1,7 @@ FROM alpine:3.9 ENV DOCKERIZE_VERSION v0.6.1 + RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz \ && tar -C /usr/local/bin -xzvf dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz \ && rm dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz diff --git a/utils/Dockerfile b/utils/Dockerfile index e289e3c..506aeec 100644 --- a/utils/Dockerfile +++ b/utils/Dockerfile @@ -1,6 +1,15 @@ ARG docker_repo=zokradonh FROM ${docker_repo}/kopano_core +LABEL maintainer=az@zok.xyz \ + org.label-schema.name="Kopano utils container" \ + org.label-schema.description="Container that bundles various cli tools from Kopano Groupware Core" \ + org.label-schema.url="https://kopano.io" \ + org.label-schema.vcs-ref=$VCS_REF \ + org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \ + org.label-schema.version=$KOPANO_CORE_VERSION \ + org.label-schema.schema-version="1.0" + RUN apt-get update && apt-get install --no-install-recommends -y \ vim nano man \ kopano-backup \ diff --git a/web/Dockerfile b/web/Dockerfile index a4a225e..ded6be7 100644 --- a/web/Dockerfile +++ b/web/Dockerfile @@ -1,8 +1,20 @@ ARG CODE_VERSION=0.6.1 FROM kopano/kwebd:${CODE_VERSION} + +ARG VCS_REF ARG CODE_VERSION + ENV CODE_VERSION="${CODE_VERSION}" +LABEL maintainer=az@zok.xyz \ + org.label-schema.name="Kopano Web container" \ + org.label-schema.description="Reverse proxy for http(s) based components of kopano-docker" \ + org.label-schema.url="https://kopano.io" \ + org.label-schema.vcs-ref=$VCS_REF \ + org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \ + org.label-schema.version=$CODE_VERSION \ + org.label-schema.schema-version="1.0" + ENV KWEBD_USER root ENV KWEBD_GROUP root # hadolint ignore=DL3002 diff --git a/webapp/Dockerfile b/webapp/Dockerfile index 2b2b230..fa135b0 100644 --- a/webapp/Dockerfile +++ b/webapp/Dockerfile @@ -1,32 +1,43 @@ ARG docker_repo=zokradonh FROM ${docker_repo}/kopano_php -ARG DEBIAN_FRONTEND=noninteractive - +ARG VCS_REF ARG ADDITIONAL_KOPANO_PACKAGES="" -ENV ADDITIONAL_KOPANO_PACKAGES=$ADDITIONAL_KOPANO_PACKAGES ARG ADDITIONAL_KOPANO_WEBAPP_PLUGINS="" -ENV ADDITIONAL_KOPANO_WEBAPP_PLUGINS=$ADDITIONAL_KOPANO_WEBAPP_PLUGINS ARG DOWNLOAD_COMMUNITY_PACKAGES=1 -ENV DOWNLOAD_COMMUNITY_PACKAGES=$DOWNLOAD_COMMUNITY_PACKAGES -ARG KOPANO_CORE_REPOSITORY_URL="file:/kopano/repo/core" -ENV KOPANO_CORE_REPOSITORY_URL=$KOPANO_CORE_REPOSITORY_URL ARG KOPANO_REPOSITORY_FLAGS="trusted=yes" -ENV KOPANO_REPOSITORY_FLAGS=$KOPANO_REPOSITORY_FLAGS -ARG KOPANO_WEBAPP_REPOSITORY_URL="file:/kopano/repo/webapp" -ENV KOPANO_WEBAPP_REPOSITORY_URL=$KOPANO_WEBAPP_REPOSITORY_URL -ARG KOPANO_WEBAPP_SMIME_REPOSITORY_URL="file:/kopano/repo/smime" -ENV KOPANO_WEBAPP_SMIME_REPOSITORY_URL=$KOPANO_WEBAPP_SMIME_REPOSITORY_URL -ARG KOPANO_WEBAPP_MDM_REPOSITORY_URL="file:/kopano/repo/mdm" -ENV KOPANO_WEBAPP_MDM_REPOSITORY_URL=$KOPANO_WEBAPP_MDM_REPOSITORY_URL -ARG KOPANO_WEBAPP_FILES_REPOSITORY_URL="file:/kopano/repo/files" -ENV KOPANO_WEBAPP_FILES_REPOSITORY_URL=$KOPANO_WEBAPP_FILES_REPOSITORY_URL -ARG KOPANO_CORE_VERSION=newest -ENV KOPANO_CORE_VERSION=$KOPANO_CORE_VERSION -ARG KOPANO_WEBAPP_VERSION=newest -ENV KOPANO_WEBAPP_VERSION=$KOPANO_WEBAPP_VERSION ARG RELEASE_KEY_DOWNLOAD=0 -ENV RELEASE_KEY_DOWNLOAD=$RELEASE_KEY_DOWNLOAD +ARG DEBIAN_FRONTEND=noninteractive +ARG KOPANO_CORE_REPOSITORY_URL="file:/kopano/repo/core" +ARG KOPANO_CORE_VERSION=newest +ARG KOPANO_WEBAPP_REPOSITORY_URL="file:/kopano/repo/webapp" +ARG KOPANO_WEBAPP_SMIME_REPOSITORY_URL="file:/kopano/repo/smime" +ARG KOPANO_WEBAPP_MDM_REPOSITORY_URL="file:/kopano/repo/mdm" +ARG KOPANO_WEBAPP_FILES_REPOSITORY_URL="file:/kopano/repo/files" +ARG KOPANO_WEBAPP_VERSION=newest + +ENV \ + ADDITIONAL_KOPANO_PACKAGES=$ADDITIONAL_KOPANO_PACKAGES \ + ADDITIONAL_KOPANO_WEBAPP_PLUGINS=$ADDITIONAL_KOPANO_WEBAPP_PLUGINS \ + DOWNLOAD_COMMUNITY_PACKAGES=$DOWNLOAD_COMMUNITY_PACKAGES \ + KOPANO_CORE_REPOSITORY_URL=$KOPANO_CORE_REPOSITORY_URL \ + KOPANO_CORE_VERSION=$KOPANO_CORE_VERSION \ + KOPANO_REPOSITORY_FLAGS=$KOPANO_REPOSITORY_FLAGS \ + RELEASE_KEY_DOWNLOAD=$RELEASE_KEY_DOWNLOAD \ + KOPANO_WEBAPP_REPOSITORY_URL=$KOPANO_WEBAPP_REPOSITORY_URL \ + KOPANO_WEBAPP_SMIME_REPOSITORY_URL=$KOPANO_WEBAPP_SMIME_REPOSITORY_URL \ + KOPANO_WEBAPP_MDM_REPOSITORY_URL=$KOPANO_WEBAPP_MDM_REPOSITORY_URL \ + KOPANO_WEBAPP_FILES_REPOSITORY_URL=$KOPANO_WEBAPP_FILES_REPOSITORY_URL \ + KOPANO_WEBAPP_VERSION=$KOPANO_WEBAPP_VERSION + +LABEL maintainer=az@zok.xyz \ + org.label-schema.name="Kopano WebApp container" \ + org.label-schema.description="Container for running Kopano WebApp" \ + org.label-schema.url="https://kopano.io" \ + org.label-schema.vcs-ref=$VCS_REF \ + org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \ + org.label-schema.version=$KOPANO_WEBAPP_VERSION \ + org.label-schema.schema-version="1.0" SHELL ["/bin/bash", "-o", "pipefail", "-c"] @@ -45,10 +56,6 @@ RUN \ echo "deb [${KOPANO_REPOSITORY_FLAGS}] ${KOPANO_WEBAPP_SMIME_REPOSITORY_URL} ./" >> /etc/apt/sources.list.d/kopano.list; \ echo "deb [${KOPANO_REPOSITORY_FLAGS}] ${KOPANO_WEBAPP_MDM_REPOSITORY_URL} ./" >> /etc/apt/sources.list.d/kopano.list; \ echo "deb [${KOPANO_REPOSITORY_FLAGS}] ${KOPANO_WEBAPP_FILES_REPOSITORY_URL} ./" >> /etc/apt/sources.list.d/kopano.list; \ - # save kopano version - echo "webapp-${KOPANO_WEBAPP_VERSION}" >> /kopano/buildversion; \ - # sort version file uniquely - sort -u -o /kopano/buildversion /kopano/buildversion; \ # install apt keys if supported kopano if [ ${RELEASE_KEY_DOWNLOAD} -eq 1 ]; then \ curl -s -S -o - "${KOPANO_CORE_REPOSITORY_URL}/Release.key" | apt-key add -; \ diff --git a/zpush/Dockerfile b/zpush/Dockerfile index aace5f7..5dcb09c 100644 --- a/zpush/Dockerfile +++ b/zpush/Dockerfile @@ -1,24 +1,35 @@ ARG docker_repo=zokradonh FROM ${docker_repo}/kopano_base -ARG DEBIAN_FRONTEND=noninteractive - +ARG VCS_REF ARG ADDITIONAL_KOPANO_PACKAGES="" -ENV ADDITIONAL_KOPANO_PACKAGES=$ADDITIONAL_KOPANO_PACKAGES ARG DOWNLOAD_COMMUNITY_PACKAGES=1 -ENV DOWNLOAD_COMMUNITY_PACKAGES=$DOWNLOAD_COMMUNITY_PACKAGES -ARG KOPANO_CORE_REPOSITORY_URL="file:/kopano/repo/core" -ENV KOPANO_CORE_REPOSITORY_URL=$KOPANO_CORE_REPOSITORY_URL -ARG KOPANO_ZPUSH_REPOSITORY_URL="http://repo.z-hub.io/z-push:/final/Debian_9.0/" -ENV KOPANO_ZPUSH_REPOSITORY_URL=$KOPANO_ZPUSH_REPOSITORY_URL ARG KOPANO_REPOSITORY_FLAGS="trusted=yes" -ENV KOPANO_REPOSITORY_FLAGS=$KOPANO_REPOSITORY_FLAGS -ARG KOPANO_CORE_VERSION=newest -ENV KOPANO_CORE_VERSION=$KOPANO_CORE_VERSION -ARG KOPANO_ZPUSH_VERSION=newest -ENV KOPANO_ZPUSH_VERSION=$KOPANO_ZPUSH_VERSION ARG RELEASE_KEY_DOWNLOAD=0 -ENV RELEASE_KEY_DOWNLOAD=$RELEASE_KEY_DOWNLOAD +ARG DEBIAN_FRONTEND=noninteractive +ARG KOPANO_CORE_REPOSITORY_URL="file:/kopano/repo/core" +ARG KOPANO_CORE_VERSION=newest +ARG KOPANO_ZPUSH_REPOSITORY_URL="http://repo.z-hub.io/z-push:/final/Debian_9.0/" +ARG KOPANO_ZPUSH_VERSION=newest + +ENV \ + ADDITIONAL_KOPANO_PACKAGES=$ADDITIONAL_KOPANO_PACKAGES \ + DOWNLOAD_COMMUNITY_PACKAGES=$DOWNLOAD_COMMUNITY_PACKAGES \ + KOPANO_CORE_REPOSITORY_URL=$KOPANO_CORE_REPOSITORY_URL \ + KOPANO_CORE_VERSION=$KOPANO_CORE_VERSION \ + KOPANO_REPOSITORY_FLAGS=$KOPANO_REPOSITORY_FLAGS \ + RELEASE_KEY_DOWNLOAD=$RELEASE_KEY_DOWNLOAD \ + KOPANO_ZPUSH_REPOSITORY_URL=$KOPANO_ZPUSH_REPOSITORY_URL \ + KOPANO_ZPUSH_VERSION=$KOPANO_ZPUSH_VERSION + +LABEL maintainer=az@zok.xyz \ + org.label-schema.name="Kopano Z-Push container" \ + org.label-schema.description="Container for running Z-Push with Kopano Groupware Core" \ + org.label-schema.url="https://kopano.io" \ + org.label-schema.vcs-ref=$VCS_REF \ + org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \ + org.label-schema.version=$KOPANO_ZPUSH_VERSION \ + org.label-schema.schema-version="1.0" SHELL ["/bin/bash", "-o", "pipefail", "-c"] @@ -30,9 +41,6 @@ RUN \ dl_and_package_community "core"; \ fi; \ echo "deb [${KOPANO_REPOSITORY_FLAGS}] ${KOPANO_CORE_REPOSITORY_URL} ./" > /etc/apt/sources.list.d/kopano.list; \ - # save kopano version - echo "core-${KOPANO_CORE_VERSION}" > /kopano/buildversion; \ - echo "zpush-${KOPANO_ZPUSH_VERSION}" >> /kopano/buildversion; \ # prepare z-push installation echo "deb ${KOPANO_ZPUSH_REPOSITORY_URL} /" > /etc/apt/sources.list.d/zpush.list && \ curl -s -S -o - "${KOPANO_ZPUSH_REPOSITORY_URL}/Release.key" | apt-key add - && \