1
0
mirror of https://github.com/zokradonh/kopano-docker synced 2025-06-06 15:36:40 +00:00

update to Debian Buster (#253)

* update to Debian Buster
* update webapp container
* update kdav image to buster
  * add some debug commands
* use onbuild to specify building of core repository only in one place
* remove ca-certificates and git from kdav image
  * git should not be needed since kdav has a builder stage
  * ca-certificates is already installed in an earlier stage
* upgrade to Debian 10 for Z-Push
* switch remaining Debian 9 repos in webapp
* use a new major version for the base image
  * since its now based on buster
* add new parameters to the onbuild step
* update repos in setup.sh
* switch default distribution in create repo script
This commit is contained in:
Felix Bartels 2020-02-25 13:31:54 +01:00 committed by GitHub
parent 24f82964d4
commit 0561a979bc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 60 additions and 69 deletions

View File

@ -21,7 +21,7 @@ KOPANO_WEBAPP_REPOSITORY_URL := file:/kopano/repo/webapp
KOPANO_WEBAPP_FILES_REPOSITORY_URL := file:/kopano/repo/files
KOPANO_WEBAPP_MDM_REPOSITORY_URL := file:/kopano/repo/mdm
KOPANO_WEBAPP_SMIME_REPOSITORY_URL := file:/kopano/repo/smime
KOPANO_ZPUSH_REPOSITORY_URL := http://repo.z-hub.io/z-push:/final/Debian_9.0/
KOPANO_ZPUSH_REPOSITORY_URL := http://repo.z-hub.io/z-push:/final/Debian_10/
RELEASE_KEY_DOWNLOAD := 0
DOWNLOAD_COMMUNITY_PACKAGES := 1
KOPANO_UID := 999
@ -113,7 +113,7 @@ endif
-t $(docker_repo)/kopano_$(component):builder $(component)/
build-base: ## Build new base image.
docker pull debian:stretch
docker pull debian:buster
component=base make build
build-core:
@ -280,7 +280,9 @@ publish-container: ## Helper target to push a given image to a registry. Default
version=$${version%.*} ; \
docker push $(docker_repo)/kopano_$(component):$$version ; \
done
ifdef PUBLISHLATEST
docker push $(docker_repo)/kopano_$(component):latest
endif
#ifdef DOCKERREADME
# bash .ci/docker-hub-helper.sh $(component)
#endif

View File

@ -1,4 +1,4 @@
FROM debian:stretch
FROM debian:buster
ARG VCS_REF
ARG ADDITIONAL_KOPANO_PACKAGES=""
@ -13,7 +13,7 @@ ARG KOPANO_UID=999
ARG KOPANO_GID=999
ENV \
BASE_VERSION=1.4.0 \
BASE_VERSION=2.0.0 \
DEBUG="" \
DEBIAN_FRONTEND=noninteractive
@ -40,6 +40,7 @@ RUN apt-get update && \
curl \
dumb-init \
gpg \
gpg-agent \
jq \
locales \
moreutils \
@ -77,3 +78,14 @@ COPY create-kopano-repo.sh /kopano/helper/
COPY kcconf.py /kopano/
SHELL [ "/bin/bash", "-c"]
ONBUILD ARG DOWNLOAD_COMMUNITY_PACKAGES=1
ONBUILD ARG DOWNLOAD_DISTRIBUTION="Debian_10"
ONBUILD ARG DOWNLOAD_CHANNEL="community"
ONBUILD ARG DOWNLOAD_BRANCH=""
ONBUILD RUN \
# community download and package as apt source repository
. /kopano/helper/create-kopano-repo.sh && \
if [ ${DOWNLOAD_COMMUNITY_PACKAGES} -eq 1 ]; then \
dl_and_package_community "core" "$DOWNLOAD_DISTRIBUTION" "$DOWNLOAD_CHANNEL" "$DOWNLOAD_BRANCH"; \
fi

View File

@ -11,7 +11,7 @@ function version_from_filename {
function h5ai_query {
component=${1:-core}
distribution=${2:-Debian_9.0}
distribution=${2:-Debian_10}
channel=${3:-community} # could either be community, supported or limited
branch=${4:-""} # could either be empty, "master/tarballs/", "pre-final/tarballs/" or "final/tarballs/"
@ -31,7 +31,7 @@ function h5ai_query {
function dl_and_package_community {
# take component as first argument and fallback to core if none given
component=${1:-core}
distribution=${2:-Debian_9.0}
distribution=${2:-Debian_10}
channel=${3:-community}
branch=${4:-""}

View File

@ -13,7 +13,7 @@ ARG KOPANO_CORE_VERSION=newest
ENV \
ADDITIONAL_KOPANO_PACKAGES=$ADDITIONAL_KOPANO_PACKAGES \
DOWNLOAD_COMMUNITY_PACKAGES=$DOWNLOAD_COMMUNITY_PACKAGES \
DOWNLOAD_DISTRIBUTION="Debian_9.0" \
DOWNLOAD_DISTRIBUTION="Debian_10" \
DOWNLOAD_CHANNEL="community" \
DOWNLOAD_BRANCH="" \
KOPANO_CORE_REPOSITORY_URL=$KOPANO_CORE_REPOSITORY_URL \
@ -39,11 +39,6 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"]
# install Kopano Core and refresh ca-certificates
RUN \
# community download and package as apt source repository
. /kopano/helper/create-kopano-repo.sh && \
if [ ${DOWNLOAD_COMMUNITY_PACKAGES} -eq 1 ]; then \
dl_and_package_community "core" "$DOWNLOAD_DISTRIBUTION" "$DOWNLOAD_CHANNEL" "$DOWNLOAD_BRANCH"; \
fi; \
# apt key has already been installed in base
echo "deb [${KOPANO_REPOSITORY_FLAGS}] ${KOPANO_CORE_REPOSITORY_URL} ./" > /etc/apt/sources.list.d/kopano.list; \
# install
@ -65,9 +60,10 @@ RUN \
set +x && \
rm -rf /var/cache/apt /var/lib/apt/lists && \
touch /etc/kopano/admin.cfg && \
cp /usr/share/doc/kopano/example-config/*.cfg /etc/kopano/ && \
cp /usr/share/doc/kopano/example-config/*.cfg.gz /etc/kopano/ && \
gzip -d -f /etc/kopano/*.gz
# with 9.0 config files are once again in /etc/kopano
(cp /usr/share/doc/kopano/example-config/*.cfg /etc/kopano/ || true) && \
(cp /usr/share/doc/kopano/example-config/*.cfg.gz /etc/kopano/ || true) && \
(gzip -d -f /etc/kopano/*.gz || true)
ENV LANG=en_US.UTF-8

View File

@ -32,18 +32,13 @@ LABEL maintainer=az@zok.xyz \
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
# install Kopano kDAV
RUN \
# community download and package as apt source repository
. /kopano/helper/create-kopano-repo.sh && \
if [ ${DOWNLOAD_COMMUNITY_PACKAGES} -eq 1 ]; then \
dl_and_package_community "core"; \
fi; \
echo "deb [${KOPANO_REPOSITORY_FLAGS}] ${KOPANO_CORE_REPOSITORY_URL} ./" > /etc/apt/sources.list.d/kopano.list; \
set -x && \
apt-get update && apt-get install -y --no-install-recommends \
apache2 \
libapache2-mod-php7.0 \
libapache2-mod-php7.3 \
crudini \
php7-mapi \
php-xml \
@ -51,8 +46,6 @@ RUN \
php-zip \
sqlite \
php-sqlite3 \
ca-certificates \
git \
unzip \
${ADDITIONAL_KOPANO_PACKAGES} \
&& rm -rf /var/cache/apt /var/lib/apt/lists/*
@ -70,10 +63,10 @@ RUN \
echo "Listen 80" > /etc/apache2/ports.conf && \
# configure mod_php
a2enmod rewrite && \
crudini --set /etc/php/7.0/apache2/php.ini PHP upload_max_filesize 500M && \
crudini --set /etc/php/7.0/apache2/php.ini PHP post_max_size 500M && \
crudini --set /etc/php/7.0/apache2/php.ini PHP max_input_vars 1800 && \
crudini --set /etc/php/7.0/apache2/php.ini Session session.save_path /run/sessions && \
crudini --set /etc/php/7.3/apache2/php.ini PHP upload_max_filesize 500M && \
crudini --set /etc/php/7.3/apache2/php.ini PHP post_max_size 500M && \
crudini --set /etc/php/7.3/apache2/php.ini PHP max_input_vars 1800 && \
crudini --set /etc/php/7.3/apache2/php.ini Session session.save_path /run/sessions && \
mkdir -p /var/lib/kopano/kdav && \
chown www-data:www-data /var/lib/kopano/kdav && \
mkdir -p /var/log/kdav && \

View File

@ -32,11 +32,6 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"]
# add install common php dependencies
# hadolint ignore=SC2129
RUN \
# community download and package as apt source repository
. /kopano/helper/create-kopano-repo.sh && \
if [ ${DOWNLOAD_COMMUNITY_PACKAGES} -eq 1 ]; then \
dl_and_package_community "core"; \
fi; \
echo "deb [${KOPANO_REPOSITORY_FLAGS}] ${KOPANO_CORE_REPOSITORY_URL} ./" > /etc/apt/sources.list.d/kopano.list; \
# install
set -x && \
@ -51,10 +46,10 @@ RUN \
# configure php-fpm
RUN \
mkdir -p /run/php && chown www-data:www-data /run/php && \
crudini --set /etc/php/7.0/fpm/php.ini PHP upload_max_filesize 500M && \
crudini --set /etc/php/7.0/fpm/php.ini PHP post_max_size 500M && \
crudini --set /etc/php/7.0/fpm/php.ini PHP max_input_vars 1800 && \
crudini --set /etc/php/7.0/fpm/php.ini Session session.save_path /run/sessions
crudini --set /etc/php/7.3/fpm/php.ini PHP upload_max_filesize 500M && \
crudini --set /etc/php/7.3/fpm/php.ini PHP post_max_size 500M && \
crudini --set /etc/php/7.3/fpm/php.ini PHP max_input_vars 1800 && \
crudini --set /etc/php/7.3/fpm/php.ini Session session.save_path /run/sessions
EXPOSE 9080/tcp

View File

@ -31,11 +31,6 @@ SHELL ["/bin/bash", "-o", "pipefail", "-c"]
# hadolint ignore=SC2129
RUN \
# community download and package as apt source repository
. /kopano/helper/create-kopano-repo.sh && \
if [ ${DOWNLOAD_COMMUNITY_PACKAGES} -eq 1 ]; then \
dl_and_package_community "core"; \
fi; \
echo "deb [${KOPANO_REPOSITORY_FLAGS}] ${KOPANO_CORE_REPOSITORY_URL} ./" > /etc/apt/sources.list.d/kopano.list; \
# install
set -x && \

View File

@ -329,16 +329,19 @@ COMPOSE_PROJECT_NAME=kopano
COMPOSE_FILE=docker-compose.yml:docker-compose.ports.yml:docker-compose.db.yml:docker-compose.ldap.yml:docker-compose.mail.yml
# Modify below to build a different version, than the kopano nightly release
#KOPANO_CORE_REPOSITORY_URL=https://serial:REPLACE-ME@download.kopano.io/supported/core:/final/Debian_9.0/
#KOPANO_MEET_REPOSITORY_URL=https://serial:REPLACE-ME@download.kopano.io/supported/meet:/final/Debian_9.0/
#KOPANO_WEBAPP_REPOSITORY_URL=https://serial:REPLACE-ME@download.kopano.io/supported/webapp:/final/Debian_9.0/
#KOPANO_WEBAPP_FILES_REPOSITORY_URL=https://serial:REPLACE-ME@download.kopano.io/supported/files:/final/Debian_9.0/
#KOPANO_WEBAPP_MDM_REPOSITORY_URL=https://serial:REPLACE-ME@download.kopano.io/supported/mdm:/final/Debian_9.0/
#KOPANO_WEBAPP_SMIME_REPOSITORY_URL=https://serial:REPLACE-ME@download.kopano.io/supported/smime:/final/Debian_9.0/
#KOPANO_ZPUSH_REPOSITORY_URL=http://repo.z-hub.io/z-push:/final/Debian_9.0/
#KOPANO_CORE_REPOSITORY_URL=https://serial:REPLACE-ME@download.kopano.io/supported/core:/9.x/Debian_10/
#KOPANO_MEET_REPOSITORY_URL=https://serial:REPLACE-ME@download.kopano.io/supported/meet:/final/Debian_10/
#KOPANO_WEBAPP_REPOSITORY_URL=https://serial:REPLACE-ME@download.kopano.io/supported/webapp:/final/Debian_10/
#KOPANO_WEBAPP_FILES_REPOSITORY_URL=https://serial:REPLACE-ME@download.kopano.io/supported/files:/final/Debian_10/
#KOPANO_WEBAPP_MDM_REPOSITORY_URL=https://serial:REPLACE-ME@download.kopano.io/supported/mdm:/final/Debian_10/
#KOPANO_WEBAPP_SMIME_REPOSITORY_URL=https://serial:REPLACE-ME@download.kopano.io/supported/smime:/final/Debian_10/
#KOPANO_ZPUSH_REPOSITORY_URL=http://repo.z-hub.io/z-push:/final/Debian_10/
#RELEASE_KEY_DOWNLOAD=1
#DOWNLOAD_COMMUNITY_PACKAGES=0
# Remove this variable to not push versioned containers with the :latest tag
PUBLISHLATEST=yes
# Additional packages to install
ADDITIONAL_KOPANO_PACKAGES=""
ADDITIONAL_KOPANO_WEBAPP_PLUGINS="$ADDITIONAL_KOPANO_WEBAPP_PLUGINS"

View File

@ -2,7 +2,7 @@
mkdir -p /kopano/ssl/clients/
set -euo pipefail
set -euo
# clean out any potential port numbers
FQDN=${FQDN%:*}

View File

@ -47,10 +47,10 @@ RUN \
# community download and package as apt source repository
. /kopano/helper/create-kopano-repo.sh && \
if [ ${DOWNLOAD_COMMUNITY_PACKAGES} -eq 1 ]; then \
dl_and_package_community "webapp"; \
dl_and_package_community "files"; \
dl_and_package_community "mdm"; \
dl_and_package_community "smime"; \
dl_and_package_community "webapp" "Debian_10"; \
dl_and_package_community "files" "Debian_10"; \
dl_and_package_community "mdm" "Debian_10"; \
dl_and_package_community "smime" "Debian_10"; \
fi; \
echo "deb [${KOPANO_REPOSITORY_FLAGS}] ${KOPANO_WEBAPP_REPOSITORY_URL} ./" >> /etc/apt/sources.list.d/kopano.list; \
echo "deb [${KOPANO_REPOSITORY_FLAGS}] ${KOPANO_WEBAPP_SMIME_REPOSITORY_URL} ./" >> /etc/apt/sources.list.d/kopano.list; \

View File

@ -7,7 +7,7 @@ file:
group: www-data
filetype: directory
contains: []
/usr/lib/php/20151012/mapi.so:
/usr/lib/php/20180731/mapi.so:
exists: true
mode: "0644"
owner: root
@ -25,7 +25,7 @@ file:
process:
kwebd:
running: true
php-fpm7.0:
php-fpm7.3:
running: true
http:
http://localhost:9080/status:

View File

@ -82,5 +82,5 @@ set +u
# cleaning up env variables
unset "${!KCCONF_@}"
echo "Starting php-fpm"
php-fpm7.0 -F &
php-fpm7.3 -F &
exec /usr/libexec/kopano/kwebd caddy -conf /etc/kweb.cfg

View File

@ -9,7 +9,7 @@ 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_ZPUSH_REPOSITORY_URL="http://repo.z-hub.io/z-push:/final/Debian_9.0/"
ARG KOPANO_ZPUSH_REPOSITORY_URL="http://repo.z-hub.io/z-push:/final/Debian_10/"
ARG KOPANO_ZPUSH_VERSION=newest
ENV \
@ -33,13 +33,8 @@ LABEL maintainer=az@zok.xyz \
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
# install Kopano WebApp and refresh ca-certificates
# install Z-Push
RUN \
# community download and package as apt source repository
. /kopano/helper/create-kopano-repo.sh && \
if [ ${DOWNLOAD_COMMUNITY_PACKAGES} -eq 1 ]; then \
dl_and_package_community "core"; \
fi; \
echo "deb [${KOPANO_REPOSITORY_FLAGS}] ${KOPANO_CORE_REPOSITORY_URL} ./" > /etc/apt/sources.list.d/kopano.list; \
# prepare z-push installation
echo "deb ${KOPANO_ZPUSH_REPOSITORY_URL} /" > /etc/apt/sources.list.d/zpush.list && \
@ -50,7 +45,7 @@ RUN \
# TODO set IGNORE_FIXSTATES_ON_UPGRADE https://jira.z-hub.io/browse/ZP-1164
apt-get update && apt-get install -y --no-install-recommends \
apache2 \
libapache2-mod-php7.0 \
libapache2-mod-php7.3 \
crudini \
z-push-kopano \
z-push-config-apache \
@ -81,10 +76,10 @@ RUN \
echo "Listen 80" > /etc/apache2/ports.conf && \
# configure mod_php
a2enmod rewrite && \
crudini --set /etc/php/7.0/apache2/php.ini PHP upload_max_filesize 500M && \
crudini --set /etc/php/7.0/apache2/php.ini PHP post_max_size 500M && \
crudini --set /etc/php/7.0/apache2/php.ini PHP max_input_vars 1800 && \
crudini --set /etc/php/7.0/apache2/php.ini Session session.save_path /run/sessions && \
crudini --set /etc/php/7.3/apache2/php.ini PHP upload_max_filesize 500M && \
crudini --set /etc/php/7.3/apache2/php.ini PHP post_max_size 500M && \
crudini --set /etc/php/7.3/apache2/php.ini PHP max_input_vars 1800 && \
crudini --set /etc/php/7.3/apache2/php.ini Session session.save_path /run/sessions && \
# configure z-push
mkdir -p /var/lib/z-push /var/log/z-push && \
chown www-data:www-data /var/lib/z-push /var/log/z-push