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

Adding MDM / FILE / Spell support during setup.sh

This commit is contained in:
Philipp Holzer 2018-12-10 21:14:01 +01:00
parent 73ad2ef079
commit a7e23ee53b
No known key found for this signature in database
GPG Key ID: 517BE60E2CE5C8A5
5 changed files with 88 additions and 38 deletions

View File

@ -41,8 +41,12 @@ ARG KOPANO_CORE_VERSION=newest
ARG KOPANO_REPOSITORY_FLAGS="trusted=yes" ARG KOPANO_REPOSITORY_FLAGS="trusted=yes"
ARG KOPANO_WEBAPP_REPOSITORY_URL="file:/kopano/repo/webapp" ARG KOPANO_WEBAPP_REPOSITORY_URL="file:/kopano/repo/webapp"
ARG KOPANO_WEBAPP_VERSION=newest ARG KOPANO_WEBAPP_VERSION=newest
ARG KOPANO_SMIME_REPOSITORY_URL="file:/kopano/repo/smime" ARG KOPANO_WEBAPP_FILES_REPOSITORY_URL="file:/kopano/repo/files"
ARG KOPANO_SMIME_VERSION=newest ARG KOPANO_WEBAPP_FILES_VERSION=newest
ARG KOPANO_WEBAPP_MDM_REPOSITORY_URL="file:/kopano/repo/mdm"
ARG KOPANO_WEBAPP_MDM_VERSION=newest
ARG KOPANO_WEBAPP_SMIME_REPOSITORY_URL="file:/kopano/repo/smime"
ARG KOPANO_WEBAPP_SMIME_VERSION=newest
ARG RELEASE_KEY_DOWNLOAD=0 ARG RELEASE_KEY_DOWNLOAD=0
# get common utilities # get common utilities

View File

@ -186,6 +186,7 @@ services:
- kopanosocket/:/run/kopano - kopanosocket/:/run/kopano
environment: environment:
- TZ=${TZ} - TZ=${TZ}
- ADDITIONAL_KOPANO_WEBAPP_PLUGINS=${ADDITIONAL_KOPANO_WEBAPP_PLUGINS}
networks: networks:
- web - web
- kopanonet - kopanonet

View File

@ -1,4 +1,4 @@
#!/bin/sh #!/bin/bash
set -e set -e
@ -15,6 +15,25 @@ if [ ! -e ./docker-compose.yml ]; then
cp docker-compose.yml-example docker-compose.yml cp docker-compose.yml-example docker-compose.yml
fi fi
LANG_OPTIONS=("de-at" "de-ch" "de-de" "en" "en-gb" "es" "fr" "it" "nl" "pl-pl")
PLUGIN_OPTIONS=("contactfax" "desktopnotifications" "filepreviewer" "folderwidgets" "gmaps" "intranet" "mattermost" "pimfolder" "quickitems" "titlecounter" "webappmanual" "zdeveloper" "smime" "mdm" "files" "filesbackend-smb" "filesbackend-owncloud")
lang_menu() {
echo "Avaliable options:"
for i in ${!LANG_OPTIONS[@]}; do
printf "%3d%s) %s\n" $((i+1)) "${lang_choices[i]:- }" "${LANG_OPTIONS[i]}"
done
[[ "$msg" ]] && echo "$msg"; :
}
plugin_menu() {
echo "Avaliable options:"
for i in ${!PLUGIN_OPTIONS[@]}; do
printf "%3d%s) %s\n" $((i+1)) "${plugin_choices[i]:- }" "${PLUGIN_OPTIONS[i]}"
done
[[ "$msg" ]] && echo "$msg"; :
}
if [ ! -e ./.env ]; then if [ ! -e ./.env ]; then
PRINT_SETUP_SUCCESS="" PRINT_SETUP_SUCCESS=""
@ -117,6 +136,42 @@ if [ ! -e ./.env ]; then
MYSQL_PASSWORD=$(random_string) MYSQL_PASSWORD=$(random_string)
fi fi
ADDITIONAL_KOPANO_WEBAPP_PLUGINS=""
prompt="Check language spell support (again to uncheck, ENTER when done): "
while lang_menu && read -rp "$prompt" num && [[ "$num" ]]; do
[[ "$num" != *[![:digit:]]* ]] &&
(( num > 0 && num <= ${#LANG_OPTIONS[@]} )) ||
{ msg="Invalid option: $num"; continue; }
((num--)); msg="${LANG_OPTIONS[num]} was ${choices[num]:+un}checked"
[[ "${choices[num]}" ]] && lang_choices[num]="" || lang_choices[num]="+"
done
KOPANO_SPELL_PLUGIN=""
KOPANO_SPELL_LANG_PLUGIN=""
for i in ${!LANG_OPTIONS[@]}; do
KOPANO_SPELL_PLUGIN="kopano-webapp-plugin-spell"
[[ "${lang_choices[i]}" ]] && { KOPANO_SPELL_LANG_PLUGIN="${KOPANO_SPELL_LANG_PLUGIN} kopano-webapp-plugin-spell-${LANG_OPTIONS[i]}"; }
done
ADDITIONAL_KOPANO_WEBAPP_PLUGINS="${KOPANO_SPELL_PLUGIN}${KOPANO_SPELL_LANG_PLUGIN}"
prompt="Check for additional plugins (again to uncheck, ENTER when done): "
while plugin_menu && read -rp "$prompt" num && [[ "$num" ]]; do
[[ "$num" != *[![:digit:]]* ]] &&
(( num > 0 && num <= ${#PLUGIN_OPTIONS[@]} )) ||
{ msg="Invalid option: $num"; continue; }
((num--)); msg="${PLUGIN_OPTIONS[num]} was ${plugin_choices[num]:+un}checked"
[[ "${plugin_choices[num]}" ]] && plugin_choices[num]="" || plugin_choices[num]="+"
done
KOPANO_WEBAPP_PLUGIN=""
for i in ${!PLUGIN_OPTIONS[@]}; do
[[ "${plugin_choices[i]}" ]] && { KOPANO_WEBAPP_PLUGIN="${KOPANO_WEBAPP_PLUGIN} kopano-webapp-plugin-${PLUGIN_OPTIONS[i]}"; }
done
ADDITIONAL_KOPANO_WEBAPP_PLUGINS="${ADDITIONAL_KOPANO_WEBAPP_PLUGINS}${KOPANO_WEBAPP_PLUGIN}"
echo ${PRINT_SETUP_SUCCESS} echo ${PRINT_SETUP_SUCCESS}
cat <<-EOF >"./.env" cat <<-EOF >"./.env"
@ -166,9 +221,14 @@ HTTPS=443
# Docker Repository to push to # Docker Repository to push to
docker_repo=zokradonh docker_repo=zokradonh
ADDITIONAL_KOPANO_WEBAPP_PLUGINS=$ADDITIONAL_KOPANO_WEBAPP_PLUGINS
# modify below to build a different version, than the kopano nightly release # 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_CORE_REPOSITORY_URL=https://serial:REPLACE-ME@download.kopano.io/supported/core:/final/Debian_9.0/
#KOPANO_WEBAPP_REPOSITORY_URL=https://serial:REPLACE-ME@download.kopano.io/supported/webapp:/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_ZPUSH_REPOSITORY_URL=http://repo.z-hub.io/z-push:/final/Debian_9.0/
#RELEASE_KEY_DOWNLOAD=1 #RELEASE_KEY_DOWNLOAD=1
#DOWNLOAD_COMMUNITY_PACKAGES=0 #DOWNLOAD_COMMUNITY_PACKAGES=0

View File

@ -8,12 +8,18 @@ ARG DOWNLOAD_COMMUNITY_PACKAGES=1
ARG KOPANO_CORE_REPOSITORY_URL="file:/kopano/repo/core" ARG KOPANO_CORE_REPOSITORY_URL="file:/kopano/repo/core"
ARG KOPANO_REPOSITORY_FLAGS="trusted=yes" ARG KOPANO_REPOSITORY_FLAGS="trusted=yes"
ARG KOPANO_WEBAPP_REPOSITORY_URL="file:/kopano/repo/webapp" ARG KOPANO_WEBAPP_REPOSITORY_URL="file:/kopano/repo/webapp"
ARG KOPANO_SMIME_REPOSITORY_URL="file:/kopano/repo/smime" 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_CORE_VERSION=newest ARG KOPANO_CORE_VERSION=newest
ARG KOPANO_WEBAPP_VERSION=newest ARG KOPANO_WEBAPP_VERSION=newest
ARG KOPANO_SMIME_VERSION=newest ARG KOPANO_WEBAPP_FILES_VERSION=newest
ARG KOPANO_WEBAPP_MDM_VERSION=newest
ARG KOPANO_WEBAPP_SMIME_VERSION=newest
ARG RELEASE_KEY_DOWNLOAD=0 ARG RELEASE_KEY_DOWNLOAD=0
ENV ADDITIONAL_KOPANO_WEBAPP_PLUGINS=""
# install Kopano WebApp and refresh ca-certificates # install Kopano WebApp and refresh ca-certificates
RUN \ RUN \
# community download and package as apt source repository # community download and package as apt source repository
@ -21,15 +27,21 @@ RUN \
if [ ${DOWNLOAD_COMMUNITY_PACKAGES} -eq 1 ]; then \ if [ ${DOWNLOAD_COMMUNITY_PACKAGES} -eq 1 ]; then \
dl_and_package_community "core"; \ dl_and_package_community "core"; \
dl_and_package_community "webapp"; \ dl_and_package_community "webapp"; \
dl_and_package_community "files"; \
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_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_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_FILES_REPOSITORY_URL} ./" >> /etc/apt/sources.list.d/kopano.list; \
# save kopano version # save kopano version
echo "core-${KOPANO_CORE_VERSION}" > /kopano/buildversion; \ echo "core-${KOPANO_CORE_VERSION}" > /kopano/buildversion; \
echo "webapp-${KOPANO_WEBAPP_VERSION}" >> /kopano/buildversion; \ echo "webapp-${KOPANO_WEBAPP_VERSION}" >> /kopano/buildversion; \
echo "smime-${KOPANO_SMIME_VERSION}" >> /kopano/buildversion; \ echo "files-${KOPANO_WEBAPP_FILES_VERSION}" >> /kopano/buildversion; \
echo "mdm-${KOPANO_WEBAPP_MDM_VERSION}" >> /kopano/buildversion; \
echo "smime-${KOPANO_WEBAPP_SMIME_VERSION}" >> /kopano/buildversion; \
# install apt keys if supported kopano # install apt keys if supported kopano
if [ ${RELEASE_KEY_DOWNLOAD} -eq 1 ]; then \ if [ ${RELEASE_KEY_DOWNLOAD} -eq 1 ]; then \
curl -s -S -o - "${KOPANO_CORE_REPOSITORY_URL}/Release.key" | apt-key add -; \ curl -s -S -o - "${KOPANO_CORE_REPOSITORY_URL}/Release.key" | apt-key add -; \
@ -42,38 +54,8 @@ RUN \
crudini \ crudini \
ca-certificates \ ca-certificates \
kopano-webapp \ kopano-webapp \
kopano-webapp-plugin-contactfax \
kopano-webapp-plugin-desktopnotifications \
kopano-webapp-plugin-filepreviewer \
kopano-webapp-plugin-folderwidgets \
kopano-webapp-plugin-gmaps \
kopano-webapp-plugin-intranet \
kopano-webapp-plugin-mattermost \
kopano-webapp-plugin-pimfolder \
kopano-webapp-plugin-quickitems \
kopano-webapp-plugin-spell-de-at \
kopano-webapp-plugin-spell-de-at \
kopano-webapp-plugin-spell-de-ch \
kopano-webapp-plugin-spell-de-de \
kopano-webapp-plugin-spell-de-de \
kopano-webapp-plugin-spell-en-gb \
kopano-webapp-plugin-spell-en \
kopano-webapp-plugin-spell-en \
kopano-webapp-plugin-spell-es \
kopano-webapp-plugin-spell-es \
kopano-webapp-plugin-spell-fr \
kopano-webapp-plugin-spell-it \
kopano-webapp-plugin-spell-nl \
kopano-webapp-plugin-spell-nl \
kopano-webapp-plugin-spell-pl-pl \
kopano-webapp-plugin-spell \
kopano-webapp-plugin-spell \
kopano-webapp-plugin-titlecounter \
kopano-webapp-plugin-webappmanual \
kopano-webapp-plugin-zdeveloper \
kopano-webapp-plugin-smime \
${ADDITIONAL_KOPANO_PACKAGES} \ ${ADDITIONAL_KOPANO_PACKAGES} \
whatsapp4deskapp \ ${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 COPY apache2-kopano.conf /etc/apache2/sites-available/kopano.conf

View File

@ -4,9 +4,12 @@
KCCONF_SERVERHOSTNAME=${KCCONF_SERVERHOSTNAME:-127.0.0.1} KCCONF_SERVERHOSTNAME=${KCCONF_SERVERHOSTNAME:-127.0.0.1}
KCCONF_SERVERPORT=${KCCONF_SERVERPORT:-236} KCCONF_SERVERPORT=${KCCONF_SERVERPORT:-236}
ADDITIONAL_KOPANO_PACKAGES=${ADDITIONAL_KOPANO_PACKAGES:-""} ADDITIONAL_KOPANO_PACKAGES=${ADDITIONAL_KOPANO_PACKAGES:-""}
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
ADDITIONAL_KOPANO_PACKAGES="$ADDITIONAL_KOPANO_PACKAGES $ADDITIONAL_KOPANO_WEBAPP_PLUGINS"
[ ! -z "$ADDITIONAL_KOPANO_PACKAGES" ] && apt update [ ! -z "$ADDITIONAL_KOPANO_PACKAGES" ] && apt update
[ ! -z "$ADDITIONAL_KOPANO_PACKAGES" ] && for installpkg in "$ADDITIONAL_KOPANO_PACKAGES"; do [ ! -z "$ADDITIONAL_KOPANO_PACKAGES" ] && for installpkg in "$ADDITIONAL_KOPANO_PACKAGES"; do
if [ $(dpkg-query -W -f='${Status}' $installpkg 2>/dev/null | grep -c "ok installed") -eq 0 ]; then if [ $(dpkg-query -W -f='${Status}' $installpkg 2>/dev/null | grep -c "ok installed") -eq 0 ]; then