1
0
mirror of https://github.com/zokradonh/kopano-docker synced 2025-06-06 23:46:24 +00:00

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
This commit is contained in:
Felix Bartels 2019-06-11 10:26:59 +02:00 committed by GitHub
parent 787857e2f7
commit 4bcb092266
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
20 changed files with 359 additions and 186 deletions

View File

@ -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:

135
Makefile
View File

@ -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:

View File

@ -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"]

View File

@ -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 -; \

View File

@ -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 \

View File

@ -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 \

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 -; \

View File

@ -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 -; \

View File

@ -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

View File

@ -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 -; \

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 \

View File

@ -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

View File

@ -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 -; \

View File

@ -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 - && \