[PHP-FPM] Include more modules for upcoming features and Nextcloud support, drop ro flag; [Watchdog] Some fixes and changes

master
andryyy 2017-10-08 22:47:52 +02:00
parent 7db5877644
commit 72995ff98e
4 changed files with 40 additions and 21 deletions

View File

@ -1,8 +1,16 @@
FROM php:7.1-fpm-alpine FROM php:7.1-fpm-alpine
LABEL maintainer "Andre Peters <andre.peters@servercow.de>" LABEL maintainer "Andre Peters <andre.peters@servercow.de>"
ENV REDIS_PECL 3.1.4
ENV MEMCACHED_PECL 3.0.3
ENV APCU_PECL 5.1.8
RUN apk add -U --no-cache libxml2-dev \ RUN apk add -U --no-cache libxml2-dev \
icu-dev \ icu-dev \
imap-dev \
libmemcached-dev \
cyrus-sasl-dev \
pcre-dev \
icu-libs \ icu-libs \
redis \ redis \
mysql-client \ mysql-client \
@ -11,13 +19,33 @@ RUN apk add -U --no-cache libxml2-dev \
g++ \ g++ \
make \ make \
openssl \ openssl \
&& pecl install redis \ openssl-dev \
samba-client \
libpng \
libpng-dev \
libjpeg-turbo-dev \
libwebp-dev \
zlib-dev \
libxpm-dev \
c-client \
&& pecl install redis-${REDIS_PECL} memcached-${MEMCACHED_PECL} APCu-${APCU_PECL} \
&& docker-php-ext-enable redis apcu memcached \
&& pecl clear-cache \ && pecl clear-cache \
&& docker-php-ext-configure intl \ && docker-php-ext-configure intl \
&& docker-php-ext-install intl pdo pdo_mysql xmlrpc \ && docker-php-ext-install intl pdo pdo_mysql xmlrpc gd zip pcntl opcache \
&& docker-php-ext-enable redis \ && docker-php-ext-configure imap --with-imap --with-imap-ssl \
&& pear install channel://pear.php.net/Net_IDNA2-0.1.1 Auth_SASL Net_IMAP NET_SMTP Net_IDNA2 Mail_mime \ && docker-php-ext-install imap \
&& apk del autoconf g++ make libxml2-dev icu-dev && pear install channel://pear.php.net/Net_IDNA2-0.1.1 Auth_SASL2 Net_IMAP NET_SMTP Net_IDNA2 Mail_mime \
&& apk del autoconf g++ make libxml2-dev icu-dev imap-dev openssl-dev cyrus-sasl-dev pcre-dev libpng-dev libpng-dev libjpeg-turbo-dev libwebp-dev zlib-dev \
&& { \
echo 'opcache.enable=1'; \
echo 'opcache.enable_cli=1'; \
echo 'opcache.interned_strings_buffer=8'; \
echo 'opcache.max_accelerated_files=10000'; \
echo 'opcache.memory_consumption=128'; \
echo 'opcache.save_comments=1'; \
echo 'opcache.revalidate_freq=1'; \
} > /usr/local/etc/php/conf.d/opcache-recommended.ini
COPY ./docker-entrypoint.sh / COPY ./docker-entrypoint.sh /

View File

@ -82,16 +82,4 @@ if [[ ! -z ${DOMAIN_ARRAY} ]]; then
done done
fi fi
# Socket access
DOCKER_SOCKET=/var/run/docker.sock
DOCKER_GROUP=docker
REGULAR_USER=www-data
if [ -S ${DOCKER_SOCKET} ]; then
DOCKER_GID=$(stat -c '%g' ${DOCKER_SOCKET})
delgroup $(stat -c '%G' ${DOCKER_SOCKET})
addgroup -g ${DOCKER_GID} ${DOCKER_GROUP}
adduser ${REGULAR_USER} ${DOCKER_GROUP}
fi
exec "$@" exec "$@"

View File

@ -66,7 +66,9 @@ get_container_ip() {
until [[ ${CONTAINER_IP} =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]] || [[ ${LOOP_C} -gt 5 ]]; do until [[ ${CONTAINER_IP} =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]] || [[ ${LOOP_C} -gt 5 ]]; do
sleep 1 sleep 1
CONTAINER_ID=$(curl --silent http://dockerapi:8080/containers/json | jq -r ".[] | {name: .Config.Labels[\"com.docker.compose.service\"], id: .Id}" | jq -rc "select( .name | contains(\"${1}\")) | .id") CONTAINER_ID=$(curl --silent http://dockerapi:8080/containers/json | jq -r ".[] | {name: .Config.Labels[\"com.docker.compose.service\"], id: .Id}" | jq -rc "select( .name | contains(\"${1}\")) | .id")
CONTAINER_IP=$(curl --silent http://dockerapi:8080/containers/${CONTAINER_ID}/json | jq -r '.NetworkSettings.Networks[].IPAddress') if [[ ! -z ${CONTAINER_ID} ]]; then
CONTAINER_IP=$(curl --silent http://dockerapi:8080/containers/${CONTAINER_ID}/json | jq -r '.NetworkSettings.Networks[].IPAddress')
fi
LOOP_C=$((LOOP_C + 1)) LOOP_C=$((LOOP_C + 1))
done done
[[ ${LOOP_C} -gt 5 ]] && echo 240.0.0.0 || echo ${CONTAINER_IP} [[ ${LOOP_C} -gt 5 ]] && echo 240.0.0.0 || echo ${CONTAINER_IP}

View File

@ -96,13 +96,13 @@ services:
- rspamd - rspamd
php-fpm-mailcow: php-fpm-mailcow:
image: mailcow/phpfpm:1.2 image: mailcow/phpfpm:1.3
build: ./data/Dockerfiles/phpfpm build: ./data/Dockerfiles/phpfpm
command: "php-fpm -d date.timezone=${TZ}" command: "php-fpm -d date.timezone=${TZ}"
depends_on: depends_on:
- redis-mailcow - redis-mailcow
volumes: volumes:
- ./data/web:/web:ro - ./data/web:/web:rw
- ./data/conf/rspamd/dynmaps:/dynmaps:ro - ./data/conf/rspamd/dynmaps:/dynmaps:ro
- dkim-vol-1:/data/dkim - dkim-vol-1:/data/dkim
environment: environment:
@ -295,8 +295,9 @@ services:
- /lib/modules:/lib/modules:ro - /lib/modules:/lib/modules:ro
watchdog-mailcow: watchdog-mailcow:
image: mailcow/watchdog:1.5 image: mailcow/watchdog:1.6
build: ./data/Dockerfiles/watchdog build: ./data/Dockerfiles/watchdog
command: /watchdog.sh
init: false init: false
volumes: volumes:
- vmail-vol-1:/vmail:ro - vmail-vol-1:/vmail:ro