mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-06-20 18:08:02 +02:00
several fixes / additions for 20.1 container
This commit is contained in:
parent
062e83d0e3
commit
18bd4b7e92
@ -80,6 +80,7 @@ RUN apt-get install -y php$PHP_VERSION-cli php-xdebug inetutils-ping iproute2 gi
|
|||||||
VOLUME /var/www
|
VOLUME /var/www
|
||||||
VOLUME /var/lib/egroupware
|
VOLUME /var/lib/egroupware
|
||||||
VOLUME /var/lib/php/sessions
|
VOLUME /var/lib/php/sessions
|
||||||
|
VOLUME /var/lib/egroupware-push
|
||||||
|
|
||||||
EXPOSE 9000
|
EXPOSE 9000
|
||||||
|
|
||||||
|
@ -28,6 +28,7 @@ volumes:
|
|||||||
device: $PWD/sources/egroupware/swoolepush
|
device: $PWD/sources/egroupware/swoolepush
|
||||||
# volume to store config.inc.php file / token shared between egroupware and push container
|
# volume to store config.inc.php file / token shared between egroupware and push container
|
||||||
push-config:
|
push-config:
|
||||||
|
sessions:
|
||||||
collabora-config:
|
collabora-config:
|
||||||
driver_opts:
|
driver_opts:
|
||||||
type: none
|
type: none
|
||||||
@ -52,8 +53,8 @@ volumes:
|
|||||||
device: $PWD/data/default/rocketchat/uploads
|
device: $PWD/data/default/rocketchat/uploads
|
||||||
services:
|
services:
|
||||||
egroupware:
|
egroupware:
|
||||||
image: egroupware/egroupware:latest
|
image: egroupware/egroupware:20.1
|
||||||
# EPL image: download.egroupware.org/egroupware/epl:latest
|
# EPL image: download.egroupware.org/egroupware/epl:20.1
|
||||||
# setting a default language for a new installation
|
# setting a default language for a new installation
|
||||||
#environment:
|
#environment:
|
||||||
#- LANG=de
|
#- LANG=de
|
||||||
@ -62,6 +63,8 @@ services:
|
|||||||
# extra-sources rsync from entry-point into sources
|
# extra-sources rsync from entry-point into sources
|
||||||
#- extra:/usr/share/egroupware-extra
|
#- extra:/usr/share/egroupware-extra
|
||||||
- data:/var/lib/egroupware
|
- data:/var/lib/egroupware
|
||||||
|
- sessions:/var/lib/php/sessions
|
||||||
|
- push-config:/var/lib/egroupware-push
|
||||||
# if you want to use the host database:
|
# if you want to use the host database:
|
||||||
# 1. comment out the whole db service below AND
|
# 1. comment out the whole db service below AND
|
||||||
# 2. set EGW_DB_HOST=localhost AND
|
# 2. set EGW_DB_HOST=localhost AND
|
||||||
@ -99,6 +102,19 @@ services:
|
|||||||
#extra_hosts:
|
#extra_hosts:
|
||||||
#- "my.host.name:ip-address"
|
#- "my.host.name:ip-address"
|
||||||
|
|
||||||
|
# push server using phpswoole
|
||||||
|
push:
|
||||||
|
image: phpswoole/swoole:latest
|
||||||
|
volumes:
|
||||||
|
- sources-push:/var/www
|
||||||
|
- sessions:/var/lib/php/sessions
|
||||||
|
- push-config:/var/lib/egroupware-push
|
||||||
|
container_name: egroupware-push
|
||||||
|
restart: always
|
||||||
|
# as we get our sources from there
|
||||||
|
depends_on:
|
||||||
|
- egroupware
|
||||||
|
|
||||||
nginx:
|
nginx:
|
||||||
image: nginx:stable-alpine
|
image: nginx:stable-alpine
|
||||||
volumes:
|
volumes:
|
||||||
|
@ -7,12 +7,17 @@ FROM ubuntu:18.04
|
|||||||
MAINTAINER rb@egroupware.org
|
MAINTAINER rb@egroupware.org
|
||||||
|
|
||||||
ARG VERSION=dev-master
|
ARG VERSION=dev-master
|
||||||
|
ARG PHP_VERSION=7.3
|
||||||
|
|
||||||
|
# keeping build-arg in environment for entrypoint.sh
|
||||||
|
ENV VERSION=$VERSION
|
||||||
|
ENV PHP_VERSION=$PHP_VERSION
|
||||||
|
|
||||||
RUN apt-get update \
|
RUN apt-get update \
|
||||||
&& apt-get install -y software-properties-common \
|
&& apt-get install -y software-properties-common \
|
||||||
&& LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php \
|
&& LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php \
|
||||||
&& apt-get update \
|
&& apt-get update \
|
||||||
&& bash -c "apt-get install -y php7.3-{cli,mysql,json,gd,xsl,bz2,opcache,apcu,tidy,zip,bcmath,mbstring,smbclient,ldap,curl,fpm,pgsql,gmp}" \
|
&& bash -c "apt-get install -y php$PHP_VERSION-{cli,mysql,json,gd,xsl,bz2,opcache,apcu,tidy,zip,bcmath,mbstring,smbclient,ldap,curl,fpm,pgsql,gmp}" \
|
||||||
# fpm and php.ini settings
|
# fpm and php.ini settings
|
||||||
&& sed -e 's/^;\?listen \?=.*/listen = 9000/g' \
|
&& sed -e 's/^;\?listen \?=.*/listen = 9000/g' \
|
||||||
-e '/allowed_clients/d' \
|
-e '/allowed_clients/d' \
|
||||||
@ -22,7 +27,7 @@ RUN apt-get update \
|
|||||||
-e 's/^;\?pm.max_requests =.*/pm.max_requests = 30/' \
|
-e 's/^;\?pm.max_requests =.*/pm.max_requests = 30/' \
|
||||||
-e 's/^;\?php_admin_value\[memory_limit\].*/php_admin_value[memory_limit] = 172M/' \
|
-e 's/^;\?php_admin_value\[memory_limit\].*/php_admin_value[memory_limit] = 172M/' \
|
||||||
-e 's/^;\?request_terminate_timeout.*/request_terminate_timeout = 70m/' \
|
-e 's/^;\?request_terminate_timeout.*/request_terminate_timeout = 70m/' \
|
||||||
-i /etc/php/7.3/fpm/pool.d/www.conf \
|
-i /etc/php/$PHP_VERSION/fpm/pool.d/www.conf \
|
||||||
&& sed -e 's/^;\?session.gc_maxlifetime.*/session.gc_maxlifetime=14400/g' \
|
&& sed -e 's/^;\?session.gc_maxlifetime.*/session.gc_maxlifetime=14400/g' \
|
||||||
-e 's|^;\?date.timezone.*|date.timezone = UTC|g' \
|
-e 's|^;\?date.timezone.*|date.timezone = UTC|g' \
|
||||||
-e 's|^;\?sys_temp_dir.*|sys_temp_dir = /tmp|g' \
|
-e 's|^;\?sys_temp_dir.*|sys_temp_dir = /tmp|g' \
|
||||||
@ -33,14 +38,15 @@ RUN apt-get update \
|
|||||||
-e 's|^;\?max_input_vars \?=.*|max_input_vars = 2000|g' \
|
-e 's|^;\?max_input_vars \?=.*|max_input_vars = 2000|g' \
|
||||||
-e 's|^;\?zlib.output_compression \?=.*|zlib.output_compression = On|g' \
|
-e 's|^;\?zlib.output_compression \?=.*|zlib.output_compression = On|g' \
|
||||||
-e 's|^;\?opcache.validate_timestamps \?=.*|opcache.validate_timestamps=0|g' \
|
-e 's|^;\?opcache.validate_timestamps \?=.*|opcache.validate_timestamps=0|g' \
|
||||||
-i /etc/php/7.3/fpm/php.ini \
|
-i /etc/php/$PHP_VERSION/fpm/php.ini \
|
||||||
&& sed -e 's|^;\?date.timezone.*|date.timezone = UTC|g' \
|
&& sed -e 's|^;\?date.timezone.*|date.timezone = UTC|g' \
|
||||||
-e 's|^;\?sys_temp_dir.*|sys_temp_dir = /tmp|g' \
|
-e 's|^;\?sys_temp_dir.*|sys_temp_dir = /tmp|g' \
|
||||||
-i /etc/php/7.3/cli/php.ini \
|
-i /etc/php/$PHP_VERSION/cli/php.ini \
|
||||||
# create directory for pid file
|
# create directory for pid file
|
||||||
&& mkdir -p /run/php \
|
&& mkdir -p /run/php \
|
||||||
# send logs to stderr to be viewed by docker logs
|
# send logs to stderr to be viewed by docker logs
|
||||||
&& ln -s /dev/stderr /var/log/php7.3-fpm.log \
|
&& ln -s /dev/stderr /var/log/php$PHP_VERSION-fpm.log \
|
||||||
|
&& update-alternatives --install /usr/sbin/php-fpm php-fpm /usr/sbin/php-fpm$PHP_VERSION 5 \
|
||||||
# install tools to build EGroupware
|
# install tools to build EGroupware
|
||||||
&& apt-get install -y rsync npm zip curl sudo cron patch \
|
&& apt-get install -y rsync npm zip curl sudo cron patch \
|
||||||
&& npm install -g grunt-cli \
|
&& npm install -g grunt-cli \
|
||||||
@ -77,6 +83,10 @@ exit $RESULT' \
|
|||||||
&& chown -R www-data:www-data /var/lib/egroupware \
|
&& chown -R www-data:www-data /var/lib/egroupware \
|
||||||
&& chmod 700 /var/lib/egroupware/ \
|
&& chmod 700 /var/lib/egroupware/ \
|
||||||
&& ln -s /var/lib/egroupware/header.inc.php /usr/share/egroupware \
|
&& ln -s /var/lib/egroupware/header.inc.php /usr/share/egroupware \
|
||||||
|
# create directory for push config
|
||||||
|
&& mkdir -p /var/lib/egroupware-push \
|
||||||
|
&& chown -R www-data:www-data /var/lib/egroupware-push \
|
||||||
|
&& ln -s /var/lib/egroupware-push/config.inc.php /usr/share/egroupware/swoolepush \
|
||||||
# install cron-job and disable fallback async service and ability to switch them off in admin
|
# install cron-job and disable fallback async service and ability to switch them off in admin
|
||||||
&& sed 's/apache/www-data/' doc/rpm-build/egroupware.cron > /etc/cron.d/egroupware \
|
&& sed 's/apache/www-data/' doc/rpm-build/egroupware.cron > /etc/cron.d/egroupware \
|
||||||
&& patch -p1 < doc/rpm-build/asyncservice.patch \
|
&& patch -p1 < doc/rpm-build/asyncservice.patch \
|
||||||
@ -87,10 +97,12 @@ exit $RESULT' \
|
|||||||
|
|
||||||
VOLUME /usr/share/egroupware
|
VOLUME /usr/share/egroupware
|
||||||
VOLUME /var/lib/egroupware
|
VOLUME /var/lib/egroupware
|
||||||
|
VOLUME /var/lib/php/sessions
|
||||||
|
VOLUME /var/lib/egroupware-push
|
||||||
|
|
||||||
EXPOSE 9000
|
EXPOSE 9000
|
||||||
|
|
||||||
ADD entrypoint.sh /
|
ADD entrypoint.sh /
|
||||||
|
|
||||||
CMD ["php-fpm7.3", "--nodaemonize"]
|
CMD ["php-fpm", "--nodaemonize"]
|
||||||
ENTRYPOINT ["/entrypoint.sh"]
|
ENTRYPOINT ["/entrypoint.sh"]
|
||||||
|
@ -1,23 +1,26 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
VERSION=${VERSION:-dev-master}
|
||||||
|
PHP_VERSION=${PHP_VERSION:-7.3}
|
||||||
|
|
||||||
# if EGW_APC_SHM_SIZE is set in environment, propagate value to apcu.ini
|
# if EGW_APC_SHM_SIZE is set in environment, propagate value to apcu.ini
|
||||||
test -n "$EGW_APC_SHM_SIZE" && {
|
test -n "$EGW_APC_SHM_SIZE" && {
|
||||||
grep "apc.shm_size" /etc/php/7.3/fpm/conf.d/20-apcu.ini >/dev/null && \
|
grep "apc.shm_size" /etc/php/$PHP_VERSION/fpm/conf.d/20-apcu.ini >/dev/null && \
|
||||||
sed -e "s/^;\?apc.shm_size.*/apc.shm_size=$EGW_APC_SHM_SIZE/g" \
|
sed -e "s/^;\?apc.shm_size.*/apc.shm_size=$EGW_APC_SHM_SIZE/g" \
|
||||||
-i /etc/php/7.3/fpm/conf.d/20-apcu.ini || \
|
-i /etc/php/$PHP_VERSION/fpm/conf.d/20-apcu.ini || \
|
||||||
echo "apc.shm_size=$EGW_APC_SHM_SIZE" >> /etc/php/7.3/fpm/conf.d/20-apcu.ini
|
echo "apc.shm_size=$EGW_APC_SHM_SIZE" >> /etc/php/$PHP_VERSION/fpm/conf.d/20-apcu.ini
|
||||||
}
|
}
|
||||||
|
|
||||||
# if EGW_SESSION_TIMEOUT is set in environment, propagate value to php.ini
|
# if EGW_SESSION_TIMEOUT is set in environment, propagate value to php.ini
|
||||||
test -n "$EGW_SESSION_TIMEOUT" && test "$EGW_SESSION_TIMEOUT" -ge 1440 && \
|
test -n "$EGW_SESSION_TIMEOUT" && test "$EGW_SESSION_TIMEOUT" -ge 1440 && \
|
||||||
sed -e "s/^;\?session.gc_maxlifetime.*/session.gc_maxlifetime=$EGW_SESSION_TIMEOUT/g" \
|
sed -e "s/^;\?session.gc_maxlifetime.*/session.gc_maxlifetime=$EGW_SESSION_TIMEOUT/g" \
|
||||||
-i /etc/php/7.3/fpm/php.ini
|
-i /etc/php/$PHP_VERSION/fpm/php.ini
|
||||||
|
|
||||||
# if EGW_MEMORY_LIMIT is set in environment, propagate value to php.ini
|
# if EGW_MEMORY_LIMIT is set in environment, propagate value to php.ini
|
||||||
test -n "$EGW_MEMORY_LIMIT" && \
|
test -n "$EGW_MEMORY_LIMIT" && \
|
||||||
sed -e "s/^;\?memory_limit.*/memory_limit=$EGW_MEMORY_LIMIT/g" \
|
sed -e "s/^;\?memory_limit.*/memory_limit=$EGW_MEMORY_LIMIT/g" \
|
||||||
-i /etc/php/7.3/fpm/php.ini
|
-i /etc/php/$PHP_VERSION/fpm/php.ini
|
||||||
|
|
||||||
# ToDo check version before copy
|
# ToDo check version before copy
|
||||||
rsync -a --delete /usr/share/egroupware-sources/ /usr/share/egroupware/
|
rsync -a --delete /usr/share/egroupware-sources/ /usr/share/egroupware/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user