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_WEBAPP_REPOSITORY_URL="file:/kopano/repo/webapp" | ||||
| ARG KOPANO_WEBAPP_VERSION=newest | ||||
| ARG KOPANO_SMIME_REPOSITORY_URL="file:/kopano/repo/smime" | ||||
| ARG KOPANO_SMIME_VERSION=newest | ||||
| ARG KOPANO_WEBAPP_FILES_REPOSITORY_URL="file:/kopano/repo/files" | ||||
| 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 | ||||
| 
 | ||||
| # get common utilities | ||||
|  | ||||
| @ -186,6 +186,7 @@ services: | ||||
|       - kopanosocket/:/run/kopano | ||||
|     environment: | ||||
|       - TZ=${TZ} | ||||
|       - ADDITIONAL_KOPANO_WEBAPP_PLUGINS=${ADDITIONAL_KOPANO_WEBAPP_PLUGINS} | ||||
|     networks: | ||||
|       - web | ||||
|       - kopanonet | ||||
|  | ||||
							
								
								
									
										62
									
								
								setup.sh
									
									
									
									
									
								
							
							
						
						
									
										62
									
								
								setup.sh
									
									
									
									
									
								
							| @ -1,4 +1,4 @@ | ||||
| #!/bin/sh | ||||
| #!/bin/bash | ||||
| 
 | ||||
| set -e | ||||
| 
 | ||||
| @ -15,6 +15,25 @@ if [ ! -e ./docker-compose.yml ]; then | ||||
| 	cp docker-compose.yml-example docker-compose.yml | ||||
| 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 | ||||
| 	PRINT_SETUP_SUCCESS="" | ||||
| 
 | ||||
| @ -117,6 +136,42 @@ if [ ! -e ./.env ]; then | ||||
| 		MYSQL_PASSWORD=$(random_string) | ||||
|     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} | ||||
| 
 | ||||
|         cat <<-EOF >"./.env" | ||||
| @ -166,9 +221,14 @@ HTTPS=443 | ||||
| # Docker Repository to push to | ||||
| docker_repo=zokradonh | ||||
| 
 | ||||
| ADDITIONAL_KOPANO_WEBAPP_PLUGINS=$ADDITIONAL_KOPANO_WEBAPP_PLUGINS | ||||
| 
 | ||||
| # 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_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/ | ||||
| #RELEASE_KEY_DOWNLOAD=1 | ||||
| #DOWNLOAD_COMMUNITY_PACKAGES=0 | ||||
|  | ||||
| @ -8,12 +8,18 @@ ARG DOWNLOAD_COMMUNITY_PACKAGES=1 | ||||
| ARG KOPANO_CORE_REPOSITORY_URL="file:/kopano/repo/core" | ||||
| ARG KOPANO_REPOSITORY_FLAGS="trusted=yes" | ||||
| 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_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 | ||||
| 
 | ||||
| ENV ADDITIONAL_KOPANO_WEBAPP_PLUGINS="" | ||||
| 
 | ||||
| # install Kopano WebApp and refresh ca-certificates | ||||
| RUN \ | ||||
|     # community download and package as apt source repository | ||||
| @ -21,15 +27,21 @@ RUN \ | ||||
|     if [ ${DOWNLOAD_COMMUNITY_PACKAGES} -eq 1 ]; then \ | ||||
|         dl_and_package_community "core"; \ | ||||
|         dl_and_package_community "webapp"; \ | ||||
|         dl_and_package_community "files"; \ | ||||
|         dl_and_package_community "mdm"; \ | ||||
|         dl_and_package_community "smime"; \ | ||||
|     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_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 | ||||
|     echo "core-${KOPANO_CORE_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 | ||||
|     if [ ${RELEASE_KEY_DOWNLOAD} -eq 1 ]; then \ | ||||
|         curl -s -S -o - "${KOPANO_CORE_REPOSITORY_URL}/Release.key" | apt-key add -; \ | ||||
| @ -42,38 +54,8 @@ RUN \ | ||||
|         crudini \ | ||||
|         ca-certificates \ | ||||
|         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} \ | ||||
|         whatsapp4deskapp \ | ||||
|         ${ADDITIONAL_KOPANO_WEBAPP_PLUGINS} \ | ||||
|     && rm -rf /var/cache/apt /var/lib/apt/lists | ||||
| 
 | ||||
| COPY apache2-kopano.conf /etc/apache2/sites-available/kopano.conf | ||||
|  | ||||
| @ -4,9 +4,12 @@ | ||||
| KCCONF_SERVERHOSTNAME=${KCCONF_SERVERHOSTNAME:-127.0.0.1} | ||||
| KCCONF_SERVERPORT=${KCCONF_SERVERPORT:-236} | ||||
| 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 | ||||
| 
 | ||||
| ADDITIONAL_KOPANO_PACKAGES="$ADDITIONAL_KOPANO_PACKAGES $ADDITIONAL_KOPANO_WEBAPP_PLUGINS" | ||||
| 
 | ||||
| [ ! -z "$ADDITIONAL_KOPANO_PACKAGES" ] && apt update | ||||
| [ ! -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 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user