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:
parent
73ad2ef079
commit
a7e23ee53b
@ -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
|
||||||
|
@ -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
|
||||||
|
62
setup.sh
62
setup.sh
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user