mirror of
				https://github.com/zokradonh/kopano-docker
				synced 2025-11-04 12:27:30 +00:00 
			
		
		
		
	Add container for kapps (which includes the new calendar) (#397)
* Add container for kapps (which includes the new calendar) * remove calendar.yml
This commit is contained in:
		
							parent
							
								
									e583247a58
								
							
						
					
					
						commit
						4e2060e491
					
				
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@ -8,7 +8,6 @@
 | 
				
			|||||||
**/.vscode
 | 
					**/.vscode
 | 
				
			||||||
apt_auth.conf
 | 
					apt_auth.conf
 | 
				
			||||||
build.tags
 | 
					build.tags
 | 
				
			||||||
calendar/kopano-calendar-*/
 | 
					 | 
				
			||||||
data/*
 | 
					data/*
 | 
				
			||||||
dive.log
 | 
					dive.log
 | 
				
			||||||
docker-compose.override.yml
 | 
					docker-compose.override.yml
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										4
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								Makefile
									
									
									
									
									
								
							@ -10,6 +10,7 @@ docker_repo := zokradonh
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
base_download_version := $(shell ./version.sh core)
 | 
					base_download_version := $(shell ./version.sh core)
 | 
				
			||||||
core_download_version := $(shell ./version.sh core)
 | 
					core_download_version := $(shell ./version.sh core)
 | 
				
			||||||
 | 
					kapps_download_version := $(shell ./version.sh kapps)
 | 
				
			||||||
meet_download_version := $(shell ./version.sh meet)
 | 
					meet_download_version := $(shell ./version.sh meet)
 | 
				
			||||||
webapp_download_version := $(shell ./version.sh webapp)
 | 
					webapp_download_version := $(shell ./version.sh webapp)
 | 
				
			||||||
zpush_download_version := $(shell ./version.sh zpush)
 | 
					zpush_download_version := $(shell ./version.sh zpush)
 | 
				
			||||||
@ -132,6 +133,9 @@ build-core-dagent:
 | 
				
			|||||||
build-helper:
 | 
					build-helper:
 | 
				
			||||||
	component=build make build-simple
 | 
						component=build make build-simple
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					build-kapps:
 | 
				
			||||||
 | 
						component=kapps make build
 | 
				
			||||||
 | 
					
 | 
				
			||||||
build-konnect:
 | 
					build-konnect:
 | 
				
			||||||
	component=konnect make build-simple
 | 
						component=konnect make build-simple
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@ ARG KOPANO_UID=999
 | 
				
			|||||||
ARG KOPANO_GID=999
 | 
					ARG KOPANO_GID=999
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ENV \
 | 
					ENV \
 | 
				
			||||||
    BASE_VERSION=2.0.0 \
 | 
					    BASE_VERSION=2.1.0 \
 | 
				
			||||||
    DEBIAN_FRONTEND=noninteractive \
 | 
					    DEBIAN_FRONTEND=noninteractive \
 | 
				
			||||||
    DEBUG=""
 | 
					    DEBUG=""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -73,7 +73,7 @@ RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
# get common utilities
 | 
					# get common utilities
 | 
				
			||||||
COPY create-kopano-repo.sh /kopano/helper/
 | 
					COPY create-kopano-repo.sh /kopano/helper/
 | 
				
			||||||
COPY kcconf.py /kopano/
 | 
					COPY kcconf.py defaultconfigs/ /kopano/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SHELL [ "/bin/bash", "-c"]
 | 
					SHELL [ "/bin/bash", "-c"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,4 +1,4 @@
 | 
				
			|||||||
import os
 | 
					#!/usr/bin/env python3
 | 
				
			||||||
import kcconf
 | 
					import kcconf
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Override configs from environment variables
 | 
					# Override configs from environment variables
 | 
				
			||||||
@ -1,10 +0,0 @@
 | 
				
			|||||||
version: "3.5"
 | 
					 | 
				
			||||||
services:
 | 
					 | 
				
			||||||
  web:
 | 
					 | 
				
			||||||
    volumes:
 | 
					 | 
				
			||||||
      - ./calendar/kweb-calendar.cfg:/etc/kweb-extras/kweb-calendar.cfg
 | 
					 | 
				
			||||||
      - ./calendar/kopano-calendar-0.20.0/:/usr/share/kopano-calendar/
 | 
					 | 
				
			||||||
      - ./calendar/kopano-calendar-0.20.0/config.json.in:/var/www/api/config/v1/kopano/calendar/config.json
 | 
					 | 
				
			||||||
  kopano_grapi:
 | 
					 | 
				
			||||||
    environment:
 | 
					 | 
				
			||||||
      - KCCONF_GRAPI_ENABLE_EXPERIMENTAL_ENDPOINTS=yes
 | 
					 | 
				
			||||||
@ -1 +0,0 @@
 | 
				
			|||||||
staticpwa /calendar /usr/share/kopano-calendar/calendar-webapp
 | 
					 | 
				
			||||||
@ -173,7 +173,7 @@ services:
 | 
				
			|||||||
      - kopanograpi/:/var/lib/kopano-grapi
 | 
					      - kopanograpi/:/var/lib/kopano-grapi
 | 
				
			||||||
      - kopanosocket/:/run/kopano
 | 
					      - kopanosocket/:/run/kopano
 | 
				
			||||||
    environment:
 | 
					    environment:
 | 
				
			||||||
      - KCCONF_GRAPI_ENABLE_EXPERIMENTAL_ENDPOINTS=no
 | 
					      - KCCONF_GRAPI_ENABLE_EXPERIMENTAL_ENDPOINTS=no # needs to be set to yes for grapi versions prior to 10.3 to use calendar
 | 
				
			||||||
      - KCCONF_GRAPI_INSECURE=${INSECURE}
 | 
					      - KCCONF_GRAPI_INSECURE=${INSECURE}
 | 
				
			||||||
      - KCCONF_GRAPI_PERSISTENCY_PATH=/var/lib/kopano-grapi
 | 
					      - KCCONF_GRAPI_PERSISTENCY_PATH=/var/lib/kopano-grapi
 | 
				
			||||||
      - SERVICE_TO_START=grapi
 | 
					      - SERVICE_TO_START=grapi
 | 
				
			||||||
@ -218,6 +218,26 @@ services:
 | 
				
			|||||||
    tmpfs:
 | 
					    tmpfs:
 | 
				
			||||||
      - /tmp
 | 
					      - /tmp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  kopano_kapps:
 | 
				
			||||||
 | 
					    image: ${docker_repo:-zokradonh}/kopano_kapps:${CORE_VERSION:-latest}
 | 
				
			||||||
 | 
					    read_only: true
 | 
				
			||||||
 | 
					    restart: unless-stopped
 | 
				
			||||||
 | 
					    environment:
 | 
				
			||||||
 | 
					      - SERVICE_TO_START=kapps
 | 
				
			||||||
 | 
					    env_file:
 | 
				
			||||||
 | 
					      - kopano_kapps.env
 | 
				
			||||||
 | 
					    depends_on:
 | 
				
			||||||
 | 
					      - kopano_kapi
 | 
				
			||||||
 | 
					      - kopano_konnect
 | 
				
			||||||
 | 
					      - web
 | 
				
			||||||
 | 
					    volumes:
 | 
				
			||||||
 | 
					      - /etc/machine-id:/etc/machine-id
 | 
				
			||||||
 | 
					      - /etc/machine-id:/var/lib/dbus/machine-id
 | 
				
			||||||
 | 
					    networks:
 | 
				
			||||||
 | 
					      - web-net
 | 
				
			||||||
 | 
					    tmpfs:
 | 
				
			||||||
 | 
					      - /tmp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  kopano_kdav:
 | 
					  kopano_kdav:
 | 
				
			||||||
    image: ${docker_repo:-zokradonh}/kopano_kdav:${KDAV_VERSION:-latest}
 | 
					    image: ${docker_repo:-zokradonh}/kopano_kdav:${KDAV_VERSION:-latest}
 | 
				
			||||||
    read_only: true
 | 
					    read_only: true
 | 
				
			||||||
@ -457,7 +477,6 @@ services:
 | 
				
			|||||||
      - KCCONF_MEET_guests_enabled=true
 | 
					      - KCCONF_MEET_guests_enabled=true
 | 
				
			||||||
      - KCCONF_MEET_oidc_useImplicitFlow=true # workaround for guest login with meet https://stash.kopano.io/projects/KWM/repos/meet/pull-requests/102/overview
 | 
					      - KCCONF_MEET_oidc_useImplicitFlow=true # workaround for guest login with meet https://stash.kopano.io/projects/KWM/repos/meet/pull-requests/102/overview
 | 
				
			||||||
      - KCCONF_MEET_minimumVersion=20200121 # can be used force updates of Meet
 | 
					      - KCCONF_MEET_minimumVersion=20200121 # can be used force updates of Meet
 | 
				
			||||||
      - SERVICE_TO_START=meet
 | 
					 | 
				
			||||||
    env_file:
 | 
					    env_file:
 | 
				
			||||||
      - kopano_meet.env
 | 
					      - kopano_meet.env
 | 
				
			||||||
    depends_on:
 | 
					    depends_on:
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										63
									
								
								kapps/Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								kapps/Dockerfile
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,63 @@
 | 
				
			|||||||
 | 
					ARG docker_repo=zokradonh
 | 
				
			||||||
 | 
					FROM ${docker_repo}/kopano_base:latest
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ARG ADDITIONAL_KOPANO_PACKAGES=""
 | 
				
			||||||
 | 
					ARG DOWNLOAD_COMMUNITY_PACKAGES=1
 | 
				
			||||||
 | 
					ARG KOPANO_REPOSITORY_FLAGS="trusted=yes"
 | 
				
			||||||
 | 
					ARG RELEASE_KEY_DOWNLOAD=0
 | 
				
			||||||
 | 
					ARG DEBIAN_FRONTEND=noninteractive
 | 
				
			||||||
 | 
					ARG KOPANO_CORE_REPOSITORY_URL="file:/kopano/repo/core"
 | 
				
			||||||
 | 
					ARG KOPANO_CORE_VERSION=newest
 | 
				
			||||||
 | 
					ARG KOPANO_KAPPS_REPOSITORY_URL="file:/kopano/repo/kapps"
 | 
				
			||||||
 | 
					ARG KOPANO_KAPPS_VERSION=newest
 | 
				
			||||||
 | 
					ENV KOPANO_KAPPS_VERSION=$KOPANO_KAPPS_VERSION
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENV \
 | 
				
			||||||
 | 
					    ADDITIONAL_KOPANO_PACKAGES=$ADDITIONAL_KOPANO_PACKAGES \
 | 
				
			||||||
 | 
					    DOWNLOAD_COMMUNITY_PACKAGES=$DOWNLOAD_COMMUNITY_PACKAGES \
 | 
				
			||||||
 | 
					    KOPANO_CORE_REPOSITORY_URL=$KOPANO_CORE_REPOSITORY_URL \
 | 
				
			||||||
 | 
					    KOPANO_CORE_VERSION=$KOPANO_CORE_VERSION \
 | 
				
			||||||
 | 
					    KOPANO_REPOSITORY_FLAGS=$KOPANO_REPOSITORY_FLAGS \
 | 
				
			||||||
 | 
					    RELEASE_KEY_DOWNLOAD=$RELEASE_KEY_DOWNLOAD
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					LABEL maintainer=az@zok.xyz \
 | 
				
			||||||
 | 
					    org.label-schema.name="Kopano apps container" \
 | 
				
			||||||
 | 
					    org.label-schema.description="Container for running Kopano Apps" \
 | 
				
			||||||
 | 
					    org.label-schema.url="https://kopano.io" \
 | 
				
			||||||
 | 
					    org.label-schema.vcs-url="https://github.com/zokradonh/kopano-docker" \
 | 
				
			||||||
 | 
					    org.label-schema.version=$KOPANO_KAPPS_VERSION \
 | 
				
			||||||
 | 
					    org.label-schema.schema-version="1.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SHELL ["/bin/bash", "-o", "pipefail", "-c"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# install Kopano Core and refresh ca-certificates
 | 
				
			||||||
 | 
					RUN \
 | 
				
			||||||
 | 
					    # community download and package as apt source repository
 | 
				
			||||||
 | 
					    . /kopano/helper/create-kopano-repo.sh && \
 | 
				
			||||||
 | 
					    if [ ${DOWNLOAD_COMMUNITY_PACKAGES} -eq 1 ]; then \
 | 
				
			||||||
 | 
					        dl_and_package_community "kapps"; \
 | 
				
			||||||
 | 
					    fi; \
 | 
				
			||||||
 | 
					    echo "deb [${KOPANO_REPOSITORY_FLAGS}] ${KOPANO_KAPPS_REPOSITORY_URL} ./" > /etc/apt/sources.list.d/kopano.list; \
 | 
				
			||||||
 | 
					    # install
 | 
				
			||||||
 | 
					    apt-get update && \
 | 
				
			||||||
 | 
					    # TODO mime-support could be remove once its an official dependency of kopano-kwebd
 | 
				
			||||||
 | 
					    apt-get install --no-install-recommends -y \
 | 
				
			||||||
 | 
					        mime-support \
 | 
				
			||||||
 | 
					        kopano-kwebd \
 | 
				
			||||||
 | 
					        kopano-calendar \
 | 
				
			||||||
 | 
					        ${ADDITIONAL_KOPANO_PACKAGES} \
 | 
				
			||||||
 | 
					        && \
 | 
				
			||||||
 | 
					    rm -rf /var/cache/apt /var/lib/apt/lists && \
 | 
				
			||||||
 | 
					    # make configuration a symlink to prevent overwriting it
 | 
				
			||||||
 | 
					    # TODO better would be to override its configuration in kweb.cfg
 | 
				
			||||||
 | 
					    ln -s /tmp/calendar.json /usr/share/kopano-kweb/www/config/kopano/calendar.json
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					COPY start-service.sh /kopano/
 | 
				
			||||||
 | 
					COPY goss.yaml /goss/
 | 
				
			||||||
 | 
					CMD [ "/kopano/start-service.sh" ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					HEALTHCHECK --interval=1m --timeout=10s \
 | 
				
			||||||
 | 
					    CMD goss -g /goss/goss.yaml validate
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ARG VCS_REF
 | 
				
			||||||
 | 
					LABEL org.label-schema.vcs-ref=$VCS_REF
 | 
				
			||||||
							
								
								
									
										18
									
								
								kapps/goss.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								kapps/goss.yaml
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,18 @@
 | 
				
			|||||||
 | 
					file:
 | 
				
			||||||
 | 
					  /tmp/calendar.json:
 | 
				
			||||||
 | 
					    exists: true
 | 
				
			||||||
 | 
					    mode: "0644"
 | 
				
			||||||
 | 
					    owner: root
 | 
				
			||||||
 | 
					    group: root
 | 
				
			||||||
 | 
					    filetype: file
 | 
				
			||||||
 | 
					    contains: []
 | 
				
			||||||
 | 
					process:
 | 
				
			||||||
 | 
					  kwebd:
 | 
				
			||||||
 | 
					    running: true
 | 
				
			||||||
 | 
					http:
 | 
				
			||||||
 | 
					  http://localhost:9080/calendar:
 | 
				
			||||||
 | 
					    status: 200
 | 
				
			||||||
 | 
					    allow-insecure: false
 | 
				
			||||||
 | 
					    no-follow-redirects: false
 | 
				
			||||||
 | 
					    timeout: 5000
 | 
				
			||||||
 | 
					    body: []
 | 
				
			||||||
							
								
								
									
										78
									
								
								kapps/start-service.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										78
									
								
								kapps/start-service.sh
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,78 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ADDITIONAL_KOPANO_PACKAGES=${ADDITIONAL_KOPANO_PACKAGES:-""}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					set -eu # unset variables are errors & non-zero return values exit the whole script
 | 
				
			||||||
 | 
					[ "$DEBUG" ] && set -x
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# copy configuration files to /tmp/kopano to prevent modification of mounted config files
 | 
				
			||||||
 | 
					mkdir -p /tmp/kopano
 | 
				
			||||||
 | 
					cp /etc/kopano/*.cfg /tmp/kopano
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					echo "Applying cfg changes from env"
 | 
				
			||||||
 | 
					/usr/bin/python3 /kopano/cfg-from-env.py
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					meetversion=$(dpkg-query --showformat='${Version}' --show kopano-calendar-webapp)
 | 
				
			||||||
 | 
					echo "Using Kopano Calendar: $meetversion"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# allow helper commands given by "docker-compose run"
 | 
				
			||||||
 | 
					if [ $# -gt 0 ]; then
 | 
				
			||||||
 | 
						exec "$@"
 | 
				
			||||||
 | 
						exit
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cp /usr/share/doc/kopano-calendar-webapp/config.json.in /tmp/calendar.json
 | 
				
			||||||
 | 
					CONFIG_JSON="/tmp/calendar.json"
 | 
				
			||||||
 | 
					# TODO move into extra file to make it easier to reuse
 | 
				
			||||||
 | 
					echo "Updating $CONFIG_JSON"
 | 
				
			||||||
 | 
					for setting in $(compgen -A variable KCCONF_CALENDAR); do
 | 
				
			||||||
 | 
						setting2=${setting#KCCONF_CALENDAR_}
 | 
				
			||||||
 | 
						# dots in setting2 need to be escaped to not be handled as separate entities in the json file
 | 
				
			||||||
 | 
						case ${!setting} in
 | 
				
			||||||
 | 
							true|TRUE|false|FALSE|[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9])
 | 
				
			||||||
 | 
								jq ".\"${setting2//_/\".\"}\" = ${!setting}" $CONFIG_JSON | sponge $CONFIG_JSON
 | 
				
			||||||
 | 
								;;
 | 
				
			||||||
 | 
							*)
 | 
				
			||||||
 | 
								jq ".\"${setting2//_/\".\"}\" = \"${!setting}\"" $CONFIG_JSON | sponge $CONFIG_JSON
 | 
				
			||||||
 | 
								;;
 | 
				
			||||||
 | 
							esac
 | 
				
			||||||
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Populate app grid
 | 
				
			||||||
 | 
					# TODO move into extra file to make it easier to reuse
 | 
				
			||||||
 | 
					# Note: if all of below variables are set to "no" kpop will fall back to its default behaviour and show all known apps.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# enable Kopano Konnect in the app grid
 | 
				
			||||||
 | 
					if [ "${GRID_KONNECT:-yes}" = "yes" ]; then
 | 
				
			||||||
 | 
						jq '.apps.enabled += ["kopano-konnect"]' $CONFIG_JSON | sponge $CONFIG_JSON
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# enable Kopano Meet in the app grid
 | 
				
			||||||
 | 
					if [ "${GRID_MEET:-yes}" = "yes" ]; then
 | 
				
			||||||
 | 
						jq '.apps.enabled += ["kopano-meet"]' $CONFIG_JSON | sponge $CONFIG_JSON
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# enable Kopano WebApp in the app grid
 | 
				
			||||||
 | 
					if [ "${GRID_WEBAPP:-yes}" = "yes" ]; then
 | 
				
			||||||
 | 
						jq '.apps.enabled += ["kopano-webapp"]' $CONFIG_JSON | sponge $CONFIG_JSON
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# enable Kopano WebApp in the app grid
 | 
				
			||||||
 | 
					if [ "${GRID_CALENDAR:-yes}" = "yes" ]; then
 | 
				
			||||||
 | 
						jq '.apps.enabled += ["kopano-calendar"]' $CONFIG_JSON | sponge $CONFIG_JSON
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					sed s/\ *=\ */=/g /tmp/kopano/kwebd.cfg > /tmp/kweb-env
 | 
				
			||||||
 | 
					# always disable tls
 | 
				
			||||||
 | 
					export tls=no
 | 
				
			||||||
 | 
					# shellcheck disable=SC2046
 | 
				
			||||||
 | 
					export $(grep -v '^#' /tmp/kweb-env | xargs -d '\n')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# services need to be aware of the machine-id
 | 
				
			||||||
 | 
					dockerize \
 | 
				
			||||||
 | 
						-wait file:///etc/machine-id \
 | 
				
			||||||
 | 
						-wait file:///var/lib/dbus/machine-id
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# cleaning up env variables
 | 
				
			||||||
 | 
					unset "${!KCCONF_@}"
 | 
				
			||||||
 | 
					exec kopano-kwebd serve
 | 
				
			||||||
@ -19,7 +19,8 @@ ENV \
 | 
				
			|||||||
    KOPANO_CORE_REPOSITORY_URL=$KOPANO_CORE_REPOSITORY_URL \
 | 
					    KOPANO_CORE_REPOSITORY_URL=$KOPANO_CORE_REPOSITORY_URL \
 | 
				
			||||||
    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 \
 | 
				
			||||||
 | 
					    SERVICE_TO_START=meet
 | 
				
			||||||
 | 
					
 | 
				
			||||||
LABEL maintainer=az@zok.xyz \
 | 
					LABEL maintainer=az@zok.xyz \
 | 
				
			||||||
    org.label-schema.name="Kopano Meet container" \
 | 
					    org.label-schema.name="Kopano Meet container" \
 | 
				
			||||||
@ -54,7 +55,7 @@ RUN --mount=type=secret,id=repocred,dst=/etc/apt/apt_auth.conf \
 | 
				
			|||||||
    # TODO better would be to override its configuration in kweb.cfg
 | 
					    # TODO better would be to override its configuration in kweb.cfg
 | 
				
			||||||
    ln -s /tmp/meet.json /usr/share/kopano-kweb/www/config/kopano/meet.json
 | 
					    ln -s /tmp/meet.json /usr/share/kopano-kweb/www/config/kopano/meet.json
 | 
				
			||||||
 | 
					
 | 
				
			||||||
COPY defaultconfigs/ start-service.sh /kopano/
 | 
					COPY start-service.sh /kopano/
 | 
				
			||||||
COPY goss.yaml /goss/
 | 
					COPY goss.yaml /goss/
 | 
				
			||||||
CMD [ "/kopano/start-service.sh" ]
 | 
					CMD [ "/kopano/start-service.sh" ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -9,13 +9,8 @@ set -eu # unset variables are errors & non-zero return values exit the whole scr
 | 
				
			|||||||
mkdir -p /tmp/kopano
 | 
					mkdir -p /tmp/kopano
 | 
				
			||||||
cp /etc/kopano/*.cfg /tmp/kopano
 | 
					cp /etc/kopano/*.cfg /tmp/kopano
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if [ ! -e /kopano/"$SERVICE_TO_START".py ]; then
 | 
					echo "Applying cfg changes from env"
 | 
				
			||||||
	echo "Invalid service specified: $SERVICE_TO_START" | ts
 | 
					/usr/bin/python3 /kopano/cfg-from-env.py
 | 
				
			||||||
	exit 1
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
echo "Configure service '$SERVICE_TO_START'" | ts
 | 
					 | 
				
			||||||
/usr/bin/python3 /kopano/"$SERVICE_TO_START".py
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
meetversion=$(dpkg-query --showformat='${Version}' --show kopano-meet-webapp)
 | 
					meetversion=$(dpkg-query --showformat='${Version}' --show kopano-meet-webapp)
 | 
				
			||||||
echo "Using Kopano Meet: $meetversion"
 | 
					echo "Using Kopano Meet: $meetversion"
 | 
				
			||||||
@ -59,6 +54,11 @@ if [ "${GRID_WEBAPP:-yes}" = "yes" ]; then
 | 
				
			|||||||
	jq '.apps.enabled += ["kopano-webapp"]' $CONFIG_JSON | sponge $CONFIG_JSON
 | 
						jq '.apps.enabled += ["kopano-webapp"]' $CONFIG_JSON | sponge $CONFIG_JSON
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# enable Kopano WebApp in the app grid
 | 
				
			||||||
 | 
					if [ "${GRID_CALENDAR:-yes}" = "yes" ]; then
 | 
				
			||||||
 | 
						jq '.apps.enabled += ["kopano-calendar"]' $CONFIG_JSON | sponge $CONFIG_JSON
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
sed s/\ *=\ */=/g /tmp/kopano/kwebd.cfg > /tmp/kweb-env
 | 
					sed s/\ *=\ */=/g /tmp/kopano/kwebd.cfg > /tmp/kweb-env
 | 
				
			||||||
# always disable tls
 | 
					# always disable tls
 | 
				
			||||||
export tls=no
 | 
					export tls=no
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										2
									
								
								setup.sh
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								setup.sh
									
									
									
									
									
								
							@ -41,7 +41,7 @@ if [ ! -e /etc/machine-id ]; then
 | 
				
			|||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
echo "Creating individual env files for containers (if they do not exist already)"
 | 
					echo "Creating individual env files for containers (if they do not exist already)"
 | 
				
			||||||
for dockerenv in ldap password-self-service mail db kopano_ssl kopano_server kopano_webapp kopano_zpush kopano_grapi kopano_kapi kopano_dagent kopano_spooler kopano_gateway kopano_ical kopano_monitor kopano_scheduler kopano_search kopano_konnect kopano_kwmserver kopano_meet; do
 | 
					for dockerenv in ldap password-self-service mail db kopano_ssl kopano_server kopano_webapp kopano_zpush kopano_grapi kopano_kapi kopano_dagent kopano_spooler kopano_gateway kopano_ical kopano_monitor kopano_scheduler kopano_search kopano_konnect kopano_kwmserver kopano_meet kopano_kapps; do
 | 
				
			||||||
	touch ./"$dockerenv".env
 | 
						touch ./"$dockerenv".env
 | 
				
			||||||
done
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -22,17 +22,18 @@ ENV \
 | 
				
			|||||||
# This causes issues when using kweb in kubernetes.
 | 
					# This causes issues when using kweb in kubernetes.
 | 
				
			||||||
# Related issue https://github.com/docker/compose/issues/229
 | 
					# Related issue https://github.com/docker/compose/issues/229
 | 
				
			||||||
ENV \
 | 
					ENV \
 | 
				
			||||||
    KWEBD_DNS_KONNECT="kopano_konnect" \
 | 
					 | 
				
			||||||
    KWEBD_DNS_MEET="kopano_meet" \
 | 
					 | 
				
			||||||
    KWEBD_DNS_KAPI="kopano_kapi" \
 | 
					 | 
				
			||||||
    KWEBD_DNS_PLAYGROUND="kopano_playground" \
 | 
					 | 
				
			||||||
    KWEBD_DNS_KWMSERVER="kopano_kwmserver" \
 | 
					 | 
				
			||||||
    KWEBD_DNS_WEBAPP="kopano_webapp" \
 | 
					 | 
				
			||||||
    KWEBD_DNS_ZPUSH="kopano_zpush" \
 | 
					 | 
				
			||||||
    KWEBD_DNS_ICAL="kopano_ical" \
 | 
					 | 
				
			||||||
    KWEBD_DNS_KDAV="kopano_kdav" \
 | 
					 | 
				
			||||||
    KWEBD_DNS_GRAPI="kopano_grapi" \
 | 
					    KWEBD_DNS_GRAPI="kopano_grapi" \
 | 
				
			||||||
    KWEBD_DNS_ICAL="kopano_ical"
 | 
					    KWEBD_DNS_ICAL="kopano_ical" \
 | 
				
			||||||
 | 
					    KWEBD_DNS_ICAL="kopano_ical" \
 | 
				
			||||||
 | 
					    KWEBD_DNS_KAPI="kopano_kapi" \
 | 
				
			||||||
 | 
					    KWEBD_DNS_KAPPS="kopano_kapps" \
 | 
				
			||||||
 | 
					    KWEBD_DNS_KDAV="kopano_kdav" \
 | 
				
			||||||
 | 
					    KWEBD_DNS_KONNECT="kopano_konnect" \
 | 
				
			||||||
 | 
					    KWEBD_DNS_KWMSERVER="kopano_kwmserver" \
 | 
				
			||||||
 | 
					    KWEBD_DNS_MEET="kopano_meet" \
 | 
				
			||||||
 | 
					    KWEBD_DNS_PLAYGROUND="kopano_playground" \
 | 
				
			||||||
 | 
					    KWEBD_DNS_WEBAPP="kopano_webapp" \
 | 
				
			||||||
 | 
					    KWEBD_DNS_ZPUSH="kopano_zpush"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ENV DOCKERIZE_VERSION v0.6.1
 | 
					ENV DOCKERIZE_VERSION v0.6.1
 | 
				
			||||||
RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
 | 
					RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-alpine-linux-amd64-$DOCKERIZE_VERSION.tar.gz \
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										15
									
								
								web/kweb.cfg
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								web/kweb.cfg
									
									
									
									
									
								
							@ -145,6 +145,21 @@
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
	folderish /meet
 | 
						folderish /meet
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						proxy /api/config/v1/kopano/calendar/ http://{%KWEBD_DNS_KAPPS%}:9080/ {
 | 
				
			||||||
 | 
							fail_timeout 10s
 | 
				
			||||||
 | 
							try_duration 30s
 | 
				
			||||||
 | 
							transparent
 | 
				
			||||||
 | 
							keepalive 100
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						proxy /calendar/ {%KWEBD_DNS_KAPPS%}:9080 {
 | 
				
			||||||
 | 
							fail_timeout 10s
 | 
				
			||||||
 | 
							try_duration 30s
 | 
				
			||||||
 | 
							transparent
 | 
				
			||||||
 | 
							keepalive 100
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						folderish /calendar
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	proxy /webapp/ {%KWEBD_DNS_WEBAPP%}:9080 {
 | 
						proxy /webapp/ {%KWEBD_DNS_WEBAPP%}:9080 {
 | 
				
			||||||
		fail_timeout 10s
 | 
							fail_timeout 10s
 | 
				
			||||||
		try_duration 30s
 | 
							try_duration 30s
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user