mirror of
				https://github.com/zokradonh/kopano-docker
				synced 2025-10-31 02:17:47 +00:00 
			
		
		
		
	Add example compose file to run Meet without Kopano (#217)
* Add example compose file to run Meet without Kopano * add readme * add an example env file * add setup.sh so user can easily create their own * use kopano repo by default
This commit is contained in:
		
							parent
							
								
									da43a5abbf
								
							
						
					
					
						commit
						8135321201
					
				| @ -11,7 +11,8 @@ env: | |||||||
|     - DOCKER_COMPOSE_VERSION=1.23.2 |     - DOCKER_COMPOSE_VERSION=1.23.2 | ||||||
|     - TRIVY_VERSION=0.1.1 |     - TRIVY_VERSION=0.1.1 | ||||||
|     - GOSS_VERSION=0.3.7 |     - GOSS_VERSION=0.3.7 | ||||||
|     - COMMANDER_VERSION=1.1.0 |     - COMMANDER_VERSION=1.2.0 | ||||||
|  | 
 | ||||||
| services: | services: | ||||||
|   - docker |   - docker | ||||||
| before_install: | before_install: | ||||||
|  | |||||||
| @ -17,7 +17,11 @@ ENV \ | |||||||
|     KOPANO_CORE_VERSION=$KOPANO_CORE_VERSION \ |     KOPANO_CORE_VERSION=$KOPANO_CORE_VERSION \ | ||||||
|     KOPANO_REPOSITORY_FLAGS=$KOPANO_REPOSITORY_FLAGS \ |     KOPANO_REPOSITORY_FLAGS=$KOPANO_REPOSITORY_FLAGS \ | ||||||
|     RELEASE_KEY_DOWNLOAD=$RELEASE_KEY_DOWNLOAD \ |     RELEASE_KEY_DOWNLOAD=$RELEASE_KEY_DOWNLOAD \ | ||||||
|     GRAPI_BACKEND="kopano" |     GRAPI_BACKEND="kopano" \ | ||||||
|  |     KCCONF_GRAPI_LDAP_URI="" \ | ||||||
|  |     KCCONF_GRAPI_LDAP_BASEDN="" \ | ||||||
|  |     KCCONF_GRAPI_LDAP_BINDDN="" \ | ||||||
|  |     KCCONF_GRAPI_LDAP_BINDPW_FILE="" | ||||||
| 
 | 
 | ||||||
| LABEL maintainer=az@zok.xyz \ | LABEL maintainer=az@zok.xyz \ | ||||||
|     org.label-schema.name="Kopano core container" \ |     org.label-schema.name="Kopano core container" \ | ||||||
|  | |||||||
| @ -87,11 +87,13 @@ grapi) | |||||||
| 	# TODO there could be a case where multiple backends are desired | 	# TODO there could be a case where multiple backends are desired | ||||||
| 	case $GRAPI_BACKEND in | 	case $GRAPI_BACKEND in | ||||||
| 	ldap) | 	ldap) | ||||||
| 		export LDAP_URI="${KCCONF_GRAPI_LDAP_URI}" | 		[ -n "$KCCONF_GRAPI_LDAP_URI" ] && export LDAP_URI="${KCCONF_GRAPI_LDAP_URI}" | ||||||
| 		export LDAP_BASEDN="${KCCONF_GRAPI_LDAP_BASEDN}" | 		[ -n "$KCCONF_GRAPI_LDAP_BASEDN" ] && export LDAP_BASEDN="${KCCONF_GRAPI_LDAP_BASEDN}" | ||||||
| 		export LDAP_BINDDN="${KCCONF_GRAPI_LDAP_BINDDN}" | 		[ -n "$KCCONF_GRAPI_LDAP_BINDDN" ] && export LDAP_BINDDN="${KCCONF_GRAPI_LDAP_BINDDN}" | ||||||
|  | 		if [ -n "$KCCONF_GRAPI_LDAP_BINDPW_FILE" ]; then | ||||||
| 			bindpw="$(cat "${KCCONF_GRAPI_LDAP_BINDPW_FILE}")" | 			bindpw="$(cat "${KCCONF_GRAPI_LDAP_BINDPW_FILE}")" | ||||||
| 			export LDAP_BINDPW="${bindpw}" | 			export LDAP_BINDPW="${bindpw}" | ||||||
|  | 		fi | ||||||
| 		;; | 		;; | ||||||
| 	esac | 	esac | ||||||
| 	# cleaning up env variables | 	# cleaning up env variables | ||||||
|  | |||||||
| @ -1,8 +0,0 @@ | |||||||
| FQDN=kopano.demo:2015 |  | ||||||
| FQDNCLEANED=kopano-demo |  | ||||||
| INSECURE=yes |  | ||||||
| TZ=Europe/Berlin |  | ||||||
| HTTP=10080 |  | ||||||
| HTTPS=10443 |  | ||||||
| 
 |  | ||||||
| # TODO add reverse proxy example, make sure that requests go through reverse proxy |  | ||||||
| @ -1,113 +0,0 @@ | |||||||
| version: "3.5" |  | ||||||
| 
 |  | ||||||
| services: |  | ||||||
|   web: |  | ||||||
|     image: ${docker_repo:-zokradonh}/kopano_web |  | ||||||
|     container_name: web |  | ||||||
|     restart: always |  | ||||||
|     ports: |  | ||||||
|       - "2015:2015" |  | ||||||
|       - "${HTTP:-80}:80" |  | ||||||
|       - "${HTTPS:-443}:443" |  | ||||||
|     environment: |  | ||||||
|       - EMAIL=${EMAIL:-off} |  | ||||||
|       - FQDN=${FQDN?err} |  | ||||||
|     command: wrapper.sh |  | ||||||
|     cap_drop: |  | ||||||
|       - ALL |  | ||||||
|     cap_add: |  | ||||||
|       - NET_BIND_SERVICE |  | ||||||
|       - CHOWN |  | ||||||
|       - SETGID |  | ||||||
|       - SETUID |  | ||||||
|     volumes: |  | ||||||
|       - web:/.kweb |  | ||||||
|     networks: |  | ||||||
|       web-net: |  | ||||||
|         aliases: |  | ||||||
|           - ${FQDNCLEANED?err} |  | ||||||
| 
 |  | ||||||
|   kopano_ssl: |  | ||||||
|     image: ${docker_repo:-zokradonh}/kopano_ssl |  | ||||||
|     container_name: kopano_ssl |  | ||||||
|     environment: |  | ||||||
|       - FQDN=${FQDN} |  | ||||||
|       - PKI_COUNTRY=NL |  | ||||||
|     volumes: |  | ||||||
|       - /etc/kopano/ssl/:/kopano/ssl |  | ||||||
| 
 |  | ||||||
|   kopano_grapi: |  | ||||||
|     image: ${docker_repo:-zokradonh}/kopano_core:${CORE_VERSION:-latest} |  | ||||||
|     container_name: kopano_grapi |  | ||||||
|     volumes: |  | ||||||
|       - /run/kopano:/run/kopano |  | ||||||
|     environment: |  | ||||||
|       - SERVICE_TO_START=grapi |  | ||||||
|       - TZ=${TZ} |  | ||||||
|     networks: |  | ||||||
|       - kopano-net |  | ||||||
| 
 |  | ||||||
|   kopano_kapi: |  | ||||||
|     image: ${docker_repo:-zokradonh}/kopano_core:${CORE_VERSION:-latest} |  | ||||||
|     container_name: kopano_kapi |  | ||||||
|     depends_on: |  | ||||||
|       - kopano_grapi |  | ||||||
|     volumes: |  | ||||||
|       - /etc/kopano/ssl:/kopano/ssl |  | ||||||
|       - /run/kopano:/run/kopano |  | ||||||
|     environment: |  | ||||||
|       - SERVICE_TO_START=kapid |  | ||||||
|       - TZ=${TZ} |  | ||||||
|       - KCCONF_KAPID_LOG_LEVEL=DEBUG |  | ||||||
|       - KCCONF_KAPID_OIDC_ISSUER_IDENTIFIER=https://${FQDN} |  | ||||||
|       - KCCONF_KAPID_INSECURE=${INSECURE} |  | ||||||
|     networks: |  | ||||||
|       - kopano-net |  | ||||||
|       - web-net |  | ||||||
| 
 |  | ||||||
|   kopano_konnect: |  | ||||||
|     image: ${docker_repo:-zokradonh}/kopano_konnect:${KONNECT_VERSION:-latest} |  | ||||||
|     container_name: kopano_konnect |  | ||||||
|     command: wrapper.sh |  | ||||||
|     volumes: |  | ||||||
|       - /etc/kopano/ssl:/kopano/ssl |  | ||||||
|       - /run/kopano:/run/kopano |  | ||||||
|     environment: |  | ||||||
|       - FQDN=${FQDN} |  | ||||||
|     networks: |  | ||||||
|       - web-net |  | ||||||
| 
 |  | ||||||
|   kopano_kwmserver: |  | ||||||
|     image: ${docker_repo:-zokradonh}/kopano_kwmserver:${KWM_VERSION:-latest} |  | ||||||
|     container_name: kopano_kwmserver |  | ||||||
|     command: wrapper.sh |  | ||||||
|     environment: |  | ||||||
|       - INSECURE=${INSECURE} |  | ||||||
|       - oidc_issuer_identifier=https://${FQDN} |  | ||||||
|     volumes: |  | ||||||
|       - /etc/kopano/ssl:/kopano/ssl |  | ||||||
|     networks: |  | ||||||
|       - web-net |  | ||||||
| 
 |  | ||||||
|   kopano_meet: |  | ||||||
|     image: ${docker_repo:-zokradonh}/kopano_meet:${MEET_VERSION:-latest} |  | ||||||
|     container_name: kopano_meet |  | ||||||
|     environment: |  | ||||||
|       - SERVICE_TO_START=meet |  | ||||||
|       - KCCONF_KWEBD_TLS=no |  | ||||||
|     depends_on: |  | ||||||
|       - kopano_kapi |  | ||||||
|       - kopano_konnect |  | ||||||
|       - kopano_kwmserver |  | ||||||
|       - web |  | ||||||
|     networks: |  | ||||||
|       - web-net |  | ||||||
| 
 |  | ||||||
| volumes: |  | ||||||
|   web: |  | ||||||
|   kopanossl: |  | ||||||
| 
 |  | ||||||
| networks: |  | ||||||
|   web-net: |  | ||||||
|   kopano-net: |  | ||||||
|     driver: bridge |  | ||||||
							
								
								
									
										12
									
								
								examples/meet/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								examples/meet/README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,12 @@ | |||||||
|  | # Running Kopano Meet without Kopano (with only the LDAP backend) | ||||||
|  | 
 | ||||||
|  | The docker-compose.yml file in this directory can be used as a template to run Kopano Meet against a LDAP user directory. The file as it is starts a demo deployment of Meet including some pre created users to explore Kopano Meet. | ||||||
|  | 
 | ||||||
|  | Check https://github.com/zokradonh/kopano-docker/blob/master/ldap_demo/README.md to learn more about the included demo users. | ||||||
|  | 
 | ||||||
|  | ## Instructions | ||||||
|  | 
 | ||||||
|  | 1. run `setup.sh` | ||||||
|  | 2. check `.env` for any required customisation (port 443 already in use?) | ||||||
|  | 3. run `docker-compose up` to start | ||||||
|  | 4. navigate to https://your-domain to login to Kopano Meet | ||||||
							
								
								
									
										173
									
								
								examples/meet/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										173
									
								
								examples/meet/docker-compose.yml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,173 @@ | |||||||
|  | version: "3.5" | ||||||
|  | 
 | ||||||
|  | services: | ||||||
|  |   web: | ||||||
|  |     image: ${docker_repo:-kopano}/kopano_web:${KWEB_VERSION:-latest} | ||||||
|  |     restart: unless-stopped | ||||||
|  |     ports: | ||||||
|  |       - "${CADDY:-2015}:2015" | ||||||
|  |       - "${HTTP:-80}:80" | ||||||
|  |       - "${HTTPS:-443}:443" | ||||||
|  |     environment: | ||||||
|  |       - EMAIL=${EMAIL:-off} | ||||||
|  |       - FQDN=${FQDNCLEANED?err} | ||||||
|  |       - DEFAULTREDIRECT=/meet | ||||||
|  |     command: wrapper.sh | ||||||
|  |     cap_drop: | ||||||
|  |       - ALL | ||||||
|  |     cap_add: | ||||||
|  |       - NET_BIND_SERVICE | ||||||
|  |       - CHOWN | ||||||
|  |       - SETGID | ||||||
|  |       - SETUID | ||||||
|  |     volumes: | ||||||
|  |       - web:/.kweb | ||||||
|  |     networks: | ||||||
|  |       web-net: | ||||||
|  |         aliases: | ||||||
|  |           - ${FQDNCLEANED?err} | ||||||
|  | 
 | ||||||
|  |   ldap: | ||||||
|  |     image: ${docker_repo:-kopano}/${LDAP_CONTAINER:-kopano_ldap_demo}:${LDAP_VERSION:-latest} | ||||||
|  |     restart: unless-stopped | ||||||
|  |     container_name: ${COMPOSE_PROJECT_NAME}_ldap | ||||||
|  |     environment: | ||||||
|  |       - LDAP_ORGANISATION=${LDAP_ORGANISATION} | ||||||
|  |       - LDAP_DOMAIN=${LDAP_DOMAIN} | ||||||
|  |       - LDAP_BASE_DN=${LDAP_BASE_DN} | ||||||
|  |       - LDAP_ADMIN_PASSWORD=${LDAP_ADMIN_PASSWORD} | ||||||
|  |       - LDAP_READONLY_USER=true | ||||||
|  |       - LDAP_READONLY_USER_PASSWORD=${LDAP_READONLY_USER_PASSWORD} | ||||||
|  |     command: "--loglevel info --copy-service" | ||||||
|  |     volumes: | ||||||
|  |       - ldap:/var/lib/ldap | ||||||
|  |       - slapd:/etc/ldap/slapd.d | ||||||
|  |     networks: | ||||||
|  |       - ldap-net | ||||||
|  | 
 | ||||||
|  |   kopano_ssl: | ||||||
|  |     image: ${docker_repo:-kopano}/kopano_ssl:${SSL_VERSION:-latest} | ||||||
|  |     environment: | ||||||
|  |       - FQDN=${FQDN} | ||||||
|  |       - PKI_COUNTRY=NL | ||||||
|  |     volumes: | ||||||
|  |       - kopanossl/:/kopano/ssl | ||||||
|  | 
 | ||||||
|  |   kopano_grapi: | ||||||
|  |     image: ${docker_repo:-kopano}/kopano_core:${CORE_VERSION:-latest} | ||||||
|  |     restart: unless-stopped | ||||||
|  |     container_name: ${COMPOSE_PROJECT_NAME}_grapi | ||||||
|  |     volumes: | ||||||
|  |       - kopanosocket/:/run/kopano | ||||||
|  |     environment: | ||||||
|  |       - SERVICE_TO_START=grapi | ||||||
|  |       - TZ=${TZ} | ||||||
|  |       - ADDITIONAL_KOPANO_PACKAGES=python3-grapi.backend.ldap | ||||||
|  |       - GRAPI_BACKEND=ldap | ||||||
|  |       - LDAP_URI=${LDAP_SERVER} | ||||||
|  |       - LDAP_BINDDN=${LDAP_BIND_DN} | ||||||
|  |       - LDAP_BINDPW=${LDAP_BIND_PW} | ||||||
|  |       - LDAP_BASEDN=${LDAP_SEARCH_BASE} | ||||||
|  |     networks: | ||||||
|  |       - kopano-net | ||||||
|  |       - ldap-net | ||||||
|  | 
 | ||||||
|  |   kopano_kapi: | ||||||
|  |     image: ${docker_repo:-kopano}/kopano_core:${CORE_VERSION:-latest} | ||||||
|  |     restart: unless-stopped | ||||||
|  |     container_name: ${COMPOSE_PROJECT_NAME}_kapi | ||||||
|  |     depends_on: | ||||||
|  |       - kopano_grapi | ||||||
|  |     volumes: | ||||||
|  |       - kopanodata/:/kopano/data | ||||||
|  |       - kopanossl/:/kopano/ssl | ||||||
|  |       - kopanosocket/:/run/kopano | ||||||
|  |     environment: | ||||||
|  |       - SERVICE_TO_START=kapi | ||||||
|  |       - TZ=${TZ} | ||||||
|  |       - KCCONF_KAPID_LOG_LEVEL=DEBUG | ||||||
|  |       - KCCONF_KAPID_OIDC_ISSUER_IDENTIFIER=https://${FQDN} | ||||||
|  |       - KCCONF_KAPID_INSECURE=${INSECURE} | ||||||
|  |     networks: | ||||||
|  |       - kopano-net | ||||||
|  |       - web-net | ||||||
|  | 
 | ||||||
|  |   kopano_konnect: | ||||||
|  |     image: ${docker_repo:-kopano}/kopano_konnect:${KONNECT_VERSION:-latest} | ||||||
|  |     restart: unless-stopped | ||||||
|  |     command: wrapper.sh | ||||||
|  |     depends_on: | ||||||
|  |       - kopano_ssl | ||||||
|  |       - web | ||||||
|  |     volumes: | ||||||
|  |       - kopanossl/:/kopano/ssl | ||||||
|  |     environment: | ||||||
|  |       - FQDN=${FQDN} | ||||||
|  |       - allow_client_guests=yes | ||||||
|  |       - allow_dynamic_client_registration=yes | ||||||
|  |       - KONNECT_BACKEND=ldap | ||||||
|  |       - LDAP_URI=${LDAP_SERVER} | ||||||
|  |       - LDAP_BINDDN=${LDAP_BIND_DN} | ||||||
|  |       - LDAP_BINDPW=${LDAP_BIND_PW} | ||||||
|  |       - LDAP_BASEDN=${LDAP_SEARCH_BASE} | ||||||
|  |       - LDAP_SCOPE=sub | ||||||
|  |       - LDAP_LOGIN_ATTRIBUTE=uid | ||||||
|  |       - LDAP_EMAIL_ATTRIBUTE=mail | ||||||
|  |       - LDAP_NAME_ATTRIBUTE=cn | ||||||
|  |       - LDAP_UUID_ATTRIBUTE=uidNumber | ||||||
|  |       - LDAP_UUID_ATTRIBUTE_TYPE=text | ||||||
|  |       - LDAP_FILTER=(objectClass=organizationalPerson) | ||||||
|  |     networks: | ||||||
|  |       - kopano-net | ||||||
|  |       - ldap-net | ||||||
|  |       - web-net | ||||||
|  | 
 | ||||||
|  |   kopano_kwmserver: | ||||||
|  |     image: ${docker_repo:-kopano}/kopano_kwmserver:${KWM_VERSION:-latest} | ||||||
|  |     restart: unless-stopped | ||||||
|  |     command: wrapper.sh | ||||||
|  |     depends_on: | ||||||
|  |       - kopano_kapi | ||||||
|  |       - kopano_konnect | ||||||
|  |     environment: | ||||||
|  |       - INSECURE=${INSECURE} | ||||||
|  |       - oidc_issuer_identifier=https://${FQDN} | ||||||
|  |       - enable_guest_api=yes | ||||||
|  |       - public_guest_access_regexp=^group/public/.* | ||||||
|  |       - turn_service_credentials_user=${TURN_USER} | ||||||
|  |       - turn_service_credentials_password=${TURN_PASSWORD} | ||||||
|  |     volumes: | ||||||
|  |       - kopanossl/:/kopano/ssl | ||||||
|  |     networks: | ||||||
|  |       - web-net | ||||||
|  | 
 | ||||||
|  |   kopano_meet: | ||||||
|  |     image: ${docker_repo:-kopano}/kopano_meet:${MEET_VERSION:-latest} | ||||||
|  |     restart: unless-stopped | ||||||
|  |     environment: | ||||||
|  |       - SERVICE_TO_START=meet | ||||||
|  |       - KCCONF_MEET_disableFullGAB=false | ||||||
|  |       - KCCONF_MEET_guests_enabled=true | ||||||
|  |       - KCCONF_MEET_useIdentifiedUser=true | ||||||
|  |     depends_on: | ||||||
|  |       - kopano_kapi | ||||||
|  |       - kopano_konnect | ||||||
|  |       - kopano_kwmserver | ||||||
|  |       - web | ||||||
|  |     networks: | ||||||
|  |       - web-net | ||||||
|  | 
 | ||||||
|  | volumes: | ||||||
|  |   web: | ||||||
|  |   ldap: | ||||||
|  |   slapd: | ||||||
|  |   kopanodata: | ||||||
|  |   kopanossl: | ||||||
|  |   kopanosocket: | ||||||
|  | 
 | ||||||
|  | networks: | ||||||
|  |   web-net: | ||||||
|  |   kopano-net: | ||||||
|  |     driver: bridge | ||||||
|  |   ldap-net: | ||||||
|  |     driver: bridge | ||||||
							
								
								
									
										34
									
								
								examples/meet/env-example
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								examples/meet/env-example
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,34 @@ | |||||||
|  | # please consult https://github.com/zokradonh/kopano-docker | ||||||
|  | # for possible configuration values and their impact | ||||||
|  | 
 | ||||||
|  | LDAP_ORGANISATION="Kopano Demo" | ||||||
|  | LDAP_DOMAIN=kopano.demo | ||||||
|  | LDAP_BASE_DN=dc=kopano,dc=demo | ||||||
|  | LDAP_SERVER=ldap://ldap:389 | ||||||
|  | LDAP_ADMIN_PASSWORD=adminpassword | ||||||
|  | LDAP_READONLY_USER_PASSWORD=readonlypassword | ||||||
|  | LDAP_BIND_DN=cn=readonly,dc=kopano,dc=demo | ||||||
|  | LDAP_BIND_PW=readonlypassword | ||||||
|  | LDAP_SEARCH_BASE=dc=kopano,dc=demo | ||||||
|  | 
 | ||||||
|  | TZ=Europe/Berlin | ||||||
|  | 
 | ||||||
|  | # Defines how Kopano can be accessed from the outside world | ||||||
|  | FQDN=kopano.demo | ||||||
|  | FQDNCLEANED=kopano.demo | ||||||
|  | DEFAULTREDIRECT=/meet | ||||||
|  | EMAIL=self_signed | ||||||
|  | CADDY=2015 | ||||||
|  | HTTP=1080 | ||||||
|  | HTTPS=10443 | ||||||
|  | 
 | ||||||
|  | # Settings for test environments | ||||||
|  | INSECURE=yes | ||||||
|  | 
 | ||||||
|  | # Docker and docker-compose settings | ||||||
|  | # Docker Repository to push to/pull from | ||||||
|  | docker_repo=zokradonh | ||||||
|  | COMPOSE_PROJECT_NAME=kopano | ||||||
|  | 
 | ||||||
|  | # Additional packages to install | ||||||
|  | ADDITIONAL_KOPANO_PACKAGES=python3-grapi.backend.ldap | ||||||
							
								
								
									
										144
									
								
								examples/meet/setup.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										144
									
								
								examples/meet/setup.sh
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,144 @@ | |||||||
|  | #!/bin/bash | ||||||
|  | 
 | ||||||
|  | set -e | ||||||
|  | 
 | ||||||
|  | fqdn_to_dn() { | ||||||
|  | 	printf 'dc=%s' "$1" | sed -E 's/\./,dc=/g' | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | random_string() { | ||||||
|  | 	hexdump -n 16 -v -e '/1 "%02X"' /dev/urandom | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | if [ ! -e ./.env ]; then | ||||||
|  | 	PRINT_SETUP_SUCCESS="" | ||||||
|  | 
 | ||||||
|  | 	echo "Creating an .env file for you" | ||||||
|  | 
 | ||||||
|  | 	value_default="Kopano Demo" | ||||||
|  | 	read -r -p "Name of the Organisation for LDAP [$value_default]: " new_value | ||||||
|  | 	LDAP_ORGANISATION=${new_value:-$value_default} | ||||||
|  | 
 | ||||||
|  | 	value_default="kopano.demo" | ||||||
|  | 	read -r -p "FQDN to be used (for reverse proxy). | ||||||
|  | 	Hint: use port 2015 in case port 443 is already in use on the system. | ||||||
|  | 	[$value_default]: " new_value | ||||||
|  | 	FQDN=${new_value:-$value_default} | ||||||
|  | 
 | ||||||
|  | 	value_default="self_signed" | ||||||
|  | 	read -r -p "Email address to use for Lets Encrypt. | ||||||
|  | 	Use 'self_signed' as your email to create self signed certificates. | ||||||
|  | 	Use 'off' if you want to run the service without tls encryption. Make sure to use an ssl-terminating reverse proxy in front in this case. | ||||||
|  | 	[$value_default]: " new_value | ||||||
|  | 	EMAIL=${new_value:-$value_default} | ||||||
|  | 
 | ||||||
|  | 	# Let Kapi accept self signed certs if required | ||||||
|  | 	if [ "$EMAIL" == "self_signed" ]; then | ||||||
|  | 		INSECURE="yes" | ||||||
|  | 	else | ||||||
|  | 		INSECURE="no" | ||||||
|  | 	fi | ||||||
|  | 
 | ||||||
|  | 	LDAP_BASE_DN=$(fqdn_to_dn "${FQDN%:*}") | ||||||
|  | 	value_default="$LDAP_BASE_DN" | ||||||
|  | 	read -r -p "Name of the BASE DN for LDAP [$value_default]: " new_value | ||||||
|  | 	LDAP_BASE_DN=${new_value:-$value_default} | ||||||
|  | 
 | ||||||
|  | 	value_default="ldap://ldap:389" | ||||||
|  | 	read -r -p "LDAP server to be used (defaults to the bundled OpenLDAP) [$value_default]: " new_value | ||||||
|  | 	LDAP_SERVER=${new_value:-$value_default} | ||||||
|  | 
 | ||||||
|  | 	if [ "$LDAP_SERVER" != "$value_default" ]; then | ||||||
|  | 		# We don't need an admin password in case we don't use the bundled LDAP server | ||||||
|  | 		LDAP_ADMIN_PASSWORD="" | ||||||
|  | 
 | ||||||
|  | 		value_default="$LDAP_BASE_DN" | ||||||
|  | 		read -r -p "LDAP search base [$value_default]: " new_value | ||||||
|  | 		LDAP_SEARCH_BASE=${new_value:-$value_default} | ||||||
|  | 
 | ||||||
|  | 		value_default="cn=readonly,$LDAP_BASE_DN" | ||||||
|  | 		read -r -p "LDAP bind user (needs read permissions) [$value_default]: " new_value | ||||||
|  | 		LDAP_BIND_DN=${new_value:-$value_default} | ||||||
|  | 
 | ||||||
|  | 		value_default="kopano123" | ||||||
|  | 		read -r -p "LDAP bind password to be used [$value_default]: " new_value | ||||||
|  | 		LDAP_BIND_PW=${new_value:-$value_default} | ||||||
|  | 
 | ||||||
|  | 		PRINT_SETUP_SUCCESS="$PRINT_SETUP_SUCCESS \n!! You have specified the LDAP server '${LDAP_SERVER}', don't forget to remove the bundled ldap and ldap-admin services in docker-compose.yml\n" | ||||||
|  | 	else | ||||||
|  | 		value_default="yes" | ||||||
|  | 		read -r -p "Use bundled LDAP with demo users? yes/no [$value_default]: " new_value | ||||||
|  | 		LDAP_CONTAINER_QUESTION=${new_value:-$value_default} | ||||||
|  | 
 | ||||||
|  | 		if [ "${LDAP_CONTAINER_QUESTION}" == "yes" ]; then | ||||||
|  | 			LDAP_CONTAINER="kopano_ldap_demo" | ||||||
|  | 		else | ||||||
|  | 			LDAP_CONTAINER="kopano_ldap" | ||||||
|  | 		fi | ||||||
|  | 
 | ||||||
|  | 		LDAP_ADMIN_PASSWORD=$(random_string) | ||||||
|  | 		LDAP_SEARCH_BASE="$LDAP_BASE_DN" | ||||||
|  | 		LDAP_BIND_DN="cn=readonly,$LDAP_BASE_DN" | ||||||
|  | 		LDAP_BIND_PW=$(random_string) | ||||||
|  | 	fi | ||||||
|  | 
 | ||||||
|  | 	if [ -f /etc/timezone ]; then | ||||||
|  | 		value_default=$(cat /etc/timezone) | ||||||
|  | 	elif [ -f /etc/localtime ]; then | ||||||
|  | 		value_default=$(readlink /etc/localtime|sed -n 's|^.*zoneinfo/||p') | ||||||
|  | 	else | ||||||
|  | 		value_default="Europe/Berlin" | ||||||
|  | 	fi | ||||||
|  | 
 | ||||||
|  | 	read -r -p "Timezone to be used [$value_default]: " new_value | ||||||
|  | 	TZ=${new_value:-$value_default} | ||||||
|  | 
 | ||||||
|  | 	echo "${PRINT_SETUP_SUCCESS}" | ||||||
|  | 
 | ||||||
|  | 	cat <<EOF > "./.env" | ||||||
|  | # please consult https://github.com/kopano-dev/kopano-docker | ||||||
|  | # for possible configuration values and their impact | ||||||
|  | 
 | ||||||
|  | # Access to the Kopano Turn service can be requested at https://portal.kopano.com/content/turn-server-access-request | ||||||
|  | TURN_USER= | ||||||
|  | TURN_PASSWORD= | ||||||
|  | 
 | ||||||
|  | # Defines how Kopano can be accessed from the outside world | ||||||
|  | FQDN=$FQDN | ||||||
|  | FQDNCLEANED=${FQDN%:*} | ||||||
|  | DEFAULTREDIRECT=/webapp | ||||||
|  | EMAIL=$EMAIL | ||||||
|  | CADDY=2015 | ||||||
|  | HTTP=80 | ||||||
|  | HTTPS=443 | ||||||
|  | 
 | ||||||
|  | TZ=$TZ | ||||||
|  | 
 | ||||||
|  | LDAP_CONTAINER=$LDAP_CONTAINER | ||||||
|  | LDAP_ORGANISATION="$LDAP_ORGANISATION" | ||||||
|  | LDAP_DOMAIN=${FQDN%:*} | ||||||
|  | LDAP_BASE_DN=$LDAP_BASE_DN | ||||||
|  | LDAP_SERVER=$LDAP_SERVER | ||||||
|  | LDAP_ADMIN_PASSWORD=$LDAP_ADMIN_PASSWORD | ||||||
|  | LDAP_READONLY_USER_PASSWORD=$LDAP_BIND_PW | ||||||
|  | LDAP_BIND_DN=$LDAP_BIND_DN | ||||||
|  | LDAP_BIND_PW=$LDAP_BIND_PW | ||||||
|  | LDAP_SEARCH_BASE=$LDAP_SEARCH_BASE | ||||||
|  | 
 | ||||||
|  | # Settings for test environments | ||||||
|  | INSECURE=$INSECURE | ||||||
|  | 
 | ||||||
|  | # Docker and docker-compose settings | ||||||
|  | # Docker Repository to push to/pull from | ||||||
|  | docker_repo=kopano | ||||||
|  | COMPOSE_PROJECT_NAME=kopano | ||||||
|  | 
 | ||||||
|  | # Additional packages to install | ||||||
|  | ADDITIONAL_KOPANO_PACKAGES=python3-grapi.backend.ldap | ||||||
|  | 
 | ||||||
|  | EOF | ||||||
|  | else | ||||||
|  | 	echo ".env already exists with initial configuration" | ||||||
|  | 	echo "If you want to change the configuration, please edit .env directly" | ||||||
|  | 	exit 1 | ||||||
|  | fi | ||||||
| @ -5,6 +5,7 @@ ARG VCS_REF | |||||||
| ARG CODE_VERSION | ARG CODE_VERSION | ||||||
| 
 | 
 | ||||||
| ENV CODE_VERSION="${CODE_VERSION}" | ENV CODE_VERSION="${CODE_VERSION}" | ||||||
|  | ENV KONNECT_BACKEND="kc" | ||||||
| 
 | 
 | ||||||
| LABEL maintainer=az@zok.xyz \ | LABEL maintainer=az@zok.xyz \ | ||||||
|     org.label-schema.name="Kopano Konnect container" \ |     org.label-schema.name="Kopano Konnect container" \ | ||||||
|  | |||||||
| @ -39,4 +39,4 @@ exec konnectd serve \ | |||||||
| 	--iss=https://"$FQDN" \ | 	--iss=https://"$FQDN" \ | ||||||
| 	--identifier-registration-conf /kopano/ssl/konnectd-identifier-registration.yaml \ | 	--identifier-registration-conf /kopano/ssl/konnectd-identifier-registration.yaml \ | ||||||
| 	--identifier-scopes-conf /etc/kopano/konnectd-identifier-scopes.yaml \ | 	--identifier-scopes-conf /etc/kopano/konnectd-identifier-scopes.yaml \ | ||||||
| 	"$@" kc | 	"$@" "$KONNECT_BACKEND" | ||||||
|  | |||||||
							
								
								
									
										8
									
								
								setup.sh
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								setup.sh
									
									
									
									
									
								
							| @ -92,7 +92,7 @@ if [ ! -e ./.env ]; then | |||||||
| 
 | 
 | ||||||
| 	value_default="kopano.demo" | 	value_default="kopano.demo" | ||||||
| 	read -r -p "FQDN to be used (for reverse proxy). | 	read -r -p "FQDN to be used (for reverse proxy). | ||||||
| 	Tipp: use port 2015 in case port 443 is already in use on the system. | 	Hint: use port 2015 in case port 443 is already in use on the system. | ||||||
| 	[$value_default]: " new_value | 	[$value_default]: " new_value | ||||||
| 	FQDN=${new_value:-$value_default} | 	FQDN=${new_value:-$value_default} | ||||||
| 
 | 
 | ||||||
| @ -110,7 +110,7 @@ if [ ! -e ./.env ]; then | |||||||
| 		INSECURE="no" | 		INSECURE="no" | ||||||
| 	fi | 	fi | ||||||
| 
 | 
 | ||||||
| 	LDAP_BASE_DN=$(fqdn_to_dn "$FQDN") | 	LDAP_BASE_DN=$(fqdn_to_dn "${FQDN%:*}") | ||||||
| 	value_default="$LDAP_BASE_DN" | 	value_default="$LDAP_BASE_DN" | ||||||
| 	read -r -p "Name of the BASE DN for LDAP [$value_default]: " new_value | 	read -r -p "Name of the BASE DN for LDAP [$value_default]: " new_value | ||||||
| 	LDAP_BASE_DN=${new_value:-$value_default} | 	LDAP_BASE_DN=${new_value:-$value_default} | ||||||
| @ -164,7 +164,7 @@ if [ ! -e ./.env ]; then | |||||||
| 	read -r -p "Timezone to be used [$value_default]: " new_value | 	read -r -p "Timezone to be used [$value_default]: " new_value | ||||||
| 	TZ=${new_value:-$value_default} | 	TZ=${new_value:-$value_default} | ||||||
| 
 | 
 | ||||||
| 	value_default="postmaster@$FQDN" | 	value_default="postmaster@${FQDN%:*}" | ||||||
| 	read -r -p "E-Mail Address displayed for the 'postmaster' [$value_default]: " new_value | 	read -r -p "E-Mail Address displayed for the 'postmaster' [$value_default]: " new_value | ||||||
| 	POSTMASTER_ADDRESS=${new_value:-$value_default} | 	POSTMASTER_ADDRESS=${new_value:-$value_default} | ||||||
| 
 | 
 | ||||||
| @ -256,7 +256,7 @@ KDAV_VERSION=$KDAV_VERSION | |||||||
| 
 | 
 | ||||||
| LDAP_CONTAINER=$LDAP_CONTAINER | LDAP_CONTAINER=$LDAP_CONTAINER | ||||||
| LDAP_ORGANISATION="$LDAP_ORGANISATION" | LDAP_ORGANISATION="$LDAP_ORGANISATION" | ||||||
| LDAP_DOMAIN=$FQDN | LDAP_DOMAIN=${FQDN%:*} | ||||||
| LDAP_BASE_DN=$LDAP_BASE_DN | LDAP_BASE_DN=$LDAP_BASE_DN | ||||||
| LDAP_SERVER=$LDAP_SERVER | LDAP_SERVER=$LDAP_SERVER | ||||||
| LDAP_ADMIN_PASSWORD=$LDAP_ADMIN_PASSWORD | LDAP_ADMIN_PASSWORD=$LDAP_ADMIN_PASSWORD | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user