mirror of
				https://github.com/zokradonh/kopano-docker
				synced 2025-10-31 10:27: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