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

add a common php image to base webapp, z-push and kdav on (#138)

* adapt webapp container for new php base image
* clean out webapp dockerfile
* complete switch of webapp to php-fpm
* update config in web container
* update readme
* remove logging config from docker-compose.yml
* add php container to tagging and publishing
This commit is contained in:
Felix Bartels 2019-04-14 13:31:19 +02:00 committed by GitHub
parent c5756e30c9
commit a65e684463
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 145 additions and 151 deletions

View File

@ -28,7 +28,7 @@ export
# convert lowercase componentname to uppercase # convert lowercase componentname to uppercase
COMPONENT = $(shell echo $(component) | tr a-z A-Z) COMPONENT = $(shell echo $(component) | tr a-z A-Z)
build-all: build-base build-core build-kdav build-konnect build-kwmserver build-ldap-demo build-meet build-playground build-scheduler build-ssl build-utils build-web build-webapp build-zpush build-all: build-base build-core build-kdav build-konnect build-kwmserver build-ldap-demo build-meet build-php build-playground build-scheduler build-ssl build-utils build-web build-webapp build-zpush
.PHONY: build .PHONY: build
build: component ?= base build: component ?= base
@ -115,6 +115,9 @@ build-ldap-demo:
build-meet: build-base build-meet: build-base
component=meet make build component=meet make build
build-php: build-base
component=php make build
build-playground: build-playground:
component=playground make build-builder component=playground make build-builder
component=playground make build-simple component=playground make build-simple
@ -135,7 +138,7 @@ build-utils: build-core
build-web: build-web:
component=web make build-simple component=web make build-simple
build-webapp: build-base build-webapp: build-php
component=webapp make build component=webapp make build
build-zpush: build-zpush:
@ -175,6 +178,11 @@ tag-meet:
$(shell docker run --rm $(docker_repo)/kopano_meet cat /kopano/buildversion | grep meet | cut -d- -f2 | cut -d+ -f1)) $(shell docker run --rm $(docker_repo)/kopano_meet cat /kopano/buildversion | grep meet | cut -d- -f2 | cut -d+ -f1))
component=meet make tag-container component=meet make tag-container
tag-php:
$(eval php_version := \
$(shell docker run --rm $(docker_repo)/kopano_php cat /kopano/buildversion | cut -d- -f2))
component=php make tag-container
tag-scheduler: tag-scheduler:
$(eval scheduler_version := \ $(eval scheduler_version := \
$(shell docker run --rm $(docker_repo)/kopano_scheduler env | grep SUPERCRONIC_VERSION | cut -d'=' -f2)) $(shell docker run --rm $(docker_repo)/kopano_scheduler env | grep SUPERCRONIC_VERSION | cut -d'=' -f2))
@ -204,7 +212,7 @@ tag-zpush:
repo-login: repo-login:
@docker login -u $(docker_login) -p $(docker_pwd) @docker login -u $(docker_login) -p $(docker_pwd)
publish: repo-login publish-base publish-core publish-kdav publish-konnect publish-kwmserver publish-meet publish-playground publish-scheduler publish-ssl publish-utils publish-web publish-webapp publish-zpush publish: repo-login publish-base publish-core publish-kdav publish-konnect publish-kwmserver publish-meet publish-php publish-playground publish-scheduler publish-ssl publish-utils publish-web publish-webapp publish-zpush
publish-container: component ?= base publish-container: component ?= base
publish-container: publish-container:
@ -227,12 +235,14 @@ publish-kwmserver: build-kwmserver tag-kwmserver
publish-meet: build-meet tag-meet publish-meet: build-meet tag-meet
component=meet make publish-container component=meet make publish-container
publish-php: build-php tag-php
component=php make publish-container
publish-playground: build-playground publish-playground: build-playground
docker push $(docker_repo)/kopano_playground:latest docker push $(docker_repo)/kopano_playground:latest
docker push $(docker_repo)/kopano_playground:builder docker push $(docker_repo)/kopano_playground:builder
publish-kdav: build-kdav #tag-kdav publish-kdav: build-kdav #tag-kdav
#component=zpush make publish-container
docker push $(docker_repo)/kopano_kdav:latest docker push $(docker_repo)/kopano_kdav:latest
docker push $(docker_repo)/kopano_kdav:builder docker push $(docker_repo)/kopano_kdav:builder
@ -257,7 +267,7 @@ publish-zpush: build-zpush tag-zpush
check-scripts: check-scripts:
grep -rIl '^#![[:blank:]]*/bin/\(bash\|sh\|zsh\)' \ grep -rIl '^#![[:blank:]]*/bin/\(bash\|sh\|zsh\)' \
--exclude-dir=.git --exclude=*.sw? \ --exclude-dir=.git --exclude=*.sw? \
| xargs shellcheck | xargs shellcheck -x
# List files which name starts with 'Dockerfile' # List files which name starts with 'Dockerfile'
# eg. Dockerfile, Dockerfile.build, etc. # eg. Dockerfile, Dockerfile.build, etc.
git ls-files --exclude='Dockerfile*' --ignored | xargs --max-lines=1 hadolint git ls-files --exclude='Dockerfile*' --ignored | xargs --max-lines=1 hadolint

View File

@ -133,8 +133,8 @@ The built image includes your subscription key! Do not push this image to any pu
While using kweb is recommended, this is of course possible. While using kweb is recommended, this is of course possible.
- The `kopano_webapp` image is accessible on port 80 and serves the WebApp both on `/` and `/webapp`. - The `kopano_webapp` container is accessible on port 9080 and serves the WebApp on `/webapp`.
- The `kopano_zpush` image is accessible on port 80 and serves Z-Push on `/Microsoft-Server-ActiveSync` (additional urls may be needed in the future see #39). - The `kopano_zpush` container is accessible on port 80 and serves Z-Push on `/Microsoft-Server-ActiveSync` ((additional urls are needed in case auto discover should be used).
### What are and how can I use the Kapi Playground and OIDC Playground? ### What are and how can I use the Kapi Playground and OIDC Playground?

View File

@ -203,7 +203,6 @@ services:
- SERVICE_TO_START=server - SERVICE_TO_START=server
- TZ=${TZ} - TZ=${TZ}
- KCCONF_SERVER_COREDUMP_ENABLED=no - KCCONF_SERVER_COREDUMP_ENABLED=no
- KCCONF_SERVER_LOG_LEVEL=3
- KCCONF_SERVER_MYSQL_HOST=${MYSQL_HOST} - KCCONF_SERVER_MYSQL_HOST=${MYSQL_HOST}
- KCCONF_SERVER_MYSQL_PORT=3306 - KCCONF_SERVER_MYSQL_PORT=3306
- KCCONF_SERVER_MYSQL_DATABASE=${MYSQL_DATABASE} - KCCONF_SERVER_MYSQL_DATABASE=${MYSQL_DATABASE}

79
php/Dockerfile Normal file
View File

@ -0,0 +1,79 @@
ARG docker_repo=zokradonh
FROM ${docker_repo}/kopano_base
ARG DEBIAN_FRONTEND=noninteractive
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 KOPANO_WEBAPP_FILES_VERSION=newest
ENV KOPANO_WEBAPP_FILES_VERSION=$KOPANO_WEBAPP_FILES_VERSION
ARG KOPANO_WEBAPP_MDM_VERSION=newest
ENV KOPANO_WEBAPP_MDM_VERSION=$KOPANO_WEBAPP_MDM_VERSION
ARG KOPANO_WEBAPP_SMIME_VERSION=newest
ENV KOPANO_WEBAPP_SMIME_VERSION=$KOPANO_WEBAPP_SMIME_VERSION
ARG RELEASE_KEY_DOWNLOAD=0
ENV RELEASE_KEY_DOWNLOAD=$RELEASE_KEY_DOWNLOAD
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; \
# 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 -; \
fi; \
# install
set -x && \
apt-get update && apt-get install -y --no-install-recommends \
kopano-kwebd \
php-fpm \
crudini \
ca-certificates \
${ADDITIONAL_KOPANO_PACKAGES} \
&& rm -rf /var/cache/apt /var/lib/apt/lists
# configure basics
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
sed -i -e 's/# de_DE.UTF-8 UTF-8/de_DE.UTF-8 UTF-8/' /etc/locale.gen && \
dpkg-reconfigure --frontend=noninteractive locales && \
update-locale LANG=en_US.UTF-8 && \
# configure php-fpm
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
EXPOSE 9080/tcp
COPY start-helper.sh /kopano/start-helper.sh
COPY kweb.cfg /etc/kweb.cfg

1
php/README.md Normal file
View File

@ -0,0 +1 @@
Common base image for php based Kopano containers

10
php/kweb.cfg Normal file
View File

@ -0,0 +1,10 @@
:9080 {
errors stderr
alias /webapp/ /usr/share/kopano-webapp/
fastcgi2 /webapp/ /run/php/php7.0-fpm.sock php {
without /webapp/
root /usr/share/kopano-webapp/
}
folderish /webapp
}

30
php/start-helper.sh Executable file
View File

@ -0,0 +1,30 @@
#!/bin/bash
php_cfg_gen() {
local cfg_file="$1"
local cfg_setting="$2"
local cfg_value="$3"
if [ -e "$cfg_file" ]; then
echo "Setting $cfg_setting = $cfg_value in $cfg_file"
if ! grep -q "$cfg_setting" "$cfg_file"; then
echo "WARNING: Config option $cfg_setting not found in $cfg_file! You may have misspelled the confing setting."
echo "define('$cfg_setting', '$cfg_value');" >> "$cfg_file"
cat "$cfg_file"
return
fi
case $cfg_value in
true|TRUE|false|FALSE)
sed -ri "s#(\s*define).+${cfg_setting}.+#\tdefine(\x27${cfg_setting}\x27, ${cfg_value}\);#g" "$cfg_file"
;;
*)
sed -ri "s#(\s*define).+${cfg_setting}.+#\tdefine(\x27${cfg_setting}\x27, \x27${cfg_value}\x27\);#g" "$cfg_file"
;;
esac
else
echo "Error: Config file $cfg_file not found. Plugin not installed?"
local dir
dir=$(dirname "$cfg_file")
ls -la "$dir"
exit 1
fi
}

View File

@ -14,6 +14,6 @@ exec dockerize \
-wait tcp://kopano_server:236 \ -wait tcp://kopano_server:236 \
-wait tcp://kopano_server:237 \ -wait tcp://kopano_server:237 \
-wait tcp://web:2015 \ -wait tcp://web:2015 \
-wait tcp://kopano_webapp:80 \ -wait tcp://kopano_webapp:9080 \
-wait tcp://kopano_zpush:80 \ -wait tcp://kopano_zpush:80 \
-timeout 120s -timeout 120s

View File

@ -131,7 +131,7 @@
} }
folderish /meet folderish /meet
proxy /webapp/ kopano_webapp:80 { proxy /webapp/ kopano_webapp:9080 {
fail_timeout 10s fail_timeout 10s
try_duration 30s try_duration 30s
transparent transparent

View File

@ -1,5 +1,5 @@
ARG docker_repo=zokradonh ARG docker_repo=zokradonh
FROM ${docker_repo}/kopano_base FROM ${docker_repo}/kopano_php
ARG DEBIAN_FRONTEND=noninteractive ARG DEBIAN_FRONTEND=noninteractive
@ -42,19 +42,16 @@ RUN \
# community download and package as apt source repository # community download and package as apt source repository
. /kopano/helper/create-kopano-repo.sh && \ . /kopano/helper/create-kopano-repo.sh && \
if [ ${DOWNLOAD_COMMUNITY_PACKAGES} -eq 1 ]; then \ if [ ${DOWNLOAD_COMMUNITY_PACKAGES} -eq 1 ]; then \
dl_and_package_community "core"; \
dl_and_package_community "webapp"; \ dl_and_package_community "webapp"; \
dl_and_package_community "files"; \ dl_and_package_community "files"; \
dl_and_package_community "mdm"; \ dl_and_package_community "mdm"; \
dl_and_package_community "smime"; \ dl_and_package_community "smime"; \
fi; \ fi; \
echo "deb [${KOPANO_REPOSITORY_FLAGS}] ${KOPANO_CORE_REPOSITORY_URL} ./" > /etc/apt/sources.list.d/kopano.list; \
echo "deb [${KOPANO_REPOSITORY_FLAGS}] ${KOPANO_WEBAPP_REPOSITORY_URL} ./" >> /etc/apt/sources.list.d/kopano.list; \ 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; \ 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_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; \ echo "deb [${KOPANO_REPOSITORY_FLAGS}] ${KOPANO_WEBAPP_FILES_REPOSITORY_URL} ./" >> /etc/apt/sources.list.d/kopano.list; \
# save kopano version # save kopano version
echo "core-${KOPANO_CORE_VERSION}" > /kopano/buildversion; \
echo "webapp-${KOPANO_WEBAPP_VERSION}" >> /kopano/buildversion; \ echo "webapp-${KOPANO_WEBAPP_VERSION}" >> /kopano/buildversion; \
echo "files-${KOPANO_WEBAPP_FILES_VERSION}" >> /kopano/buildversion; \ echo "files-${KOPANO_WEBAPP_FILES_VERSION}" >> /kopano/buildversion; \
echo "mdm-${KOPANO_WEBAPP_MDM_VERSION}" >> /kopano/buildversion; \ echo "mdm-${KOPANO_WEBAPP_MDM_VERSION}" >> /kopano/buildversion; \
@ -66,38 +63,11 @@ RUN \
# install # install
set -x && \ set -x && \
apt-get update && apt-get install -y --no-install-recommends \ apt-get update && apt-get install -y --no-install-recommends \
apache2 \
libapache2-mod-php7.0 \
crudini \
ca-certificates \
kopano-webapp \ kopano-webapp \
${ADDITIONAL_KOPANO_PACKAGES} \ ${ADDITIONAL_KOPANO_PACKAGES} \
${ADDITIONAL_KOPANO_WEBAPP_PLUGINS} \ ${ADDITIONAL_KOPANO_WEBAPP_PLUGINS} \
&& rm -rf /var/cache/apt /var/lib/apt/lists && rm -rf /var/cache/apt /var/lib/apt/lists
COPY apache2-kopano.conf /etc/apache2/sites-available/kopano.conf
# configure basics
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
sed -i -e 's/# de_DE.UTF-8 UTF-8/de_DE.UTF-8 UTF-8/' /etc/locale.gen && \
dpkg-reconfigure --frontend=noninteractive locales && \
update-locale LANG=en_US.UTF-8 && \
# configure apache
rm /etc/apache2/sites-enabled/* && \
sed -e 's,^ErrorLog.*,ErrorLog "|/bin/cat",' -i /etc/apache2/apache2.conf && \
sed -e "s,MaxSpareServers[^:].*,MaxSpareServers 5," -i /etc/apache2/mods-available/mpm_prefork.conf && \
a2disconf other-vhosts-access-log && \
a2ensite kopano kopano-webapp && \
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
EXPOSE 80/tcp
COPY start.sh /kopano/start.sh COPY start.sh /kopano/start.sh
ENV LANG en_US.UTF-8 ENV LANG en_US.UTF-8

View File

@ -1,79 +0,0 @@
<VirtualHost *:80>
DocumentRoot /usr/share/kopano-webapp
LogFormat "%{X-Forwarded-For}i %{%a %b %d %T %Y}t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" proxy
ErrorLog "|/bin/cat"
CustomLog "|/bin/cat" proxy
<Directory /usr/share/kopano-webapp/>
DirectoryIndex index.php
Options -Indexes +FollowSymLinks
<IfVersion < 2.4>
Allow from all
AllowOverride Options Limit
Order allow,deny
</IfVersion>
<IfVersion >= 2.4>
AllowOverride Options Limit Authconfig
Require all granted
</IfVersion>
FileETag All
# Uncomment to enhance security of WebApp by restricting cookies to only
# be provided over HTTPS connections
# php_flag session.cookie_secure on
# php_flag session.cookie_httponly on
# Manipulate the cache control headers if mod_expires and
# mod_headers are both enabled; otherwise the client will depend
# on the ETag header. However, you can set FileETag to "None" if
# you have multiple servers serving WebApp to the same user. In
# that case, apache will fall back to the config below so make
# sure these two modules are loaded!
<IfModule expires_module>
<IfModule headers_module>
ExpiresActive On
ExpiresDefault "now"
<filesMatch "\.(jpg|gif|png)$">
# All (static) resources set to 2 months expiration time.
ExpiresDefault "access plus 2 months"
Header append Cache-Control "public"
</filesMatch>
<FilesMatch "\.(js|css)$">
# All non-dynamic files set to 2 weeks expiration time.
ExpiresDefault "access plus 2 weeks"
# User agents are requested to revalidate for each resource
# so that the server can always serve a newer version if
# necessary.
Header append Cache-Control "no-cache, must-revalidate"
# Treat IE a little differently due to the remarks on no-cache
# on http://support.microsoft.com/kb/234067
<IfModule setenvif_module>
BrowserMatch MSIE ie_bug
</IfModule>
Header set Cache-Control "must-revalidate, private" env=ie_bug
</FilesMatch>
<filesMatch "\.(php)$">
# PHP files must always be retrieved from the server.
ExpiresActive Off
Header set Cache-Control "private, no-cache, no-store, proxy-revalidate, no-transform"
Header set Pragma "no-cache"
</filesMatch>
</IfModule>
</IfModule>
# Enable gzip compression if the module is available
<IfModule deflate_module>
<filesMatch "\.(js|css)$">
SetOutputFilter DEFLATE
</filesMatch>
</IfModule>
</Directory>
</VirtualHost>

View File

@ -8,34 +8,8 @@ ADDITIONAL_KOPANO_WEBAPP_PLUGINS=${ADDITIONAL_KOPANO_WEBAPP_PLUGINS:-""}
set -eu # unset variables are errors & non-zero return values exit the whole script set -eu # unset variables are errors & non-zero return values exit the whole script
php_cfg_gen() { # shellcheck source=php/start-helper.sh
local cfg_file="$1" source /kopano/start-helper.sh
local cfg_setting="$2"
local cfg_value="$3"
if [ -e "$cfg_file" ]; then
echo "Setting $cfg_setting = $cfg_value in $cfg_file"
if ! grep -q "$cfg_setting" "$cfg_file"; then
echo "WARNING: Config option $cfg_setting not found in $cfg_file! You may have misspelled the confing setting."
echo "define('$cfg_setting', '$cfg_value');" >> "$cfg_file"
cat "$cfg_file"
return
fi
case $cfg_value in
true|TRUE|false|FALSE)
sed -ri "s#(\s*define).+${cfg_setting}.+#\tdefine(\x27${cfg_setting}\x27, ${cfg_value}\);#g" "$cfg_file"
;;
*)
sed -ri "s#(\s*define).+${cfg_setting}.+#\tdefine(\x27${cfg_setting}\x27, \x27${cfg_value}\x27\);#g" "$cfg_file"
;;
esac
else
echo "Error: Config file $cfg_file not found. Plugin not installed?"
local dir
dir=$(dirname "$cfg_file")
ls -la "$dir"
exit 1
fi
}
ADDITIONAL_KOPANO_PACKAGES="$ADDITIONAL_KOPANO_PACKAGES $ADDITIONAL_KOPANO_WEBAPP_PLUGINS" ADDITIONAL_KOPANO_PACKAGES="$ADDITIONAL_KOPANO_PACKAGES $ADDITIONAL_KOPANO_WEBAPP_PLUGINS"
@ -78,8 +52,8 @@ chown -R www-data:www-data /run/sessions /tmp/webapp
echo "Starting Apache" echo "Starting Apache"
rm -f /run/apache2/apache2.pid rm -f /run/apache2/apache2.pid
set +u set +u
# shellcheck disable=SC1091
source /etc/apache2/envvars
# cleaning up env variables # cleaning up env variables
unset "${!KCCONF_@}" unset "${!KCCONF_@}"
exec /usr/sbin/apache2 -DFOREGROUND echo "Starting php-fpm"
php-fpm7.0 -F &
exec /usr/libexec/kopano/kwebd caddy -conf /etc/kweb.cfg