nextcloud/webservice/Dockerfile
madmaurice 37cfcf9503 Upgrade Nextcloud and downgrade base image
Due to recent changes mcrypt is not available anymore
in the latest php docker image. Thus we downgrade the
base image for now.

Additionally we upgrade the Nextcloud Version to 12.0.4
as the old image provided 12.0.2, which we upgraded within
the container to 12.0.3.3. We couldn't reuse 12.0.2 as a downgrade
of our database to the 12.0.2 database is not possible.
2018-01-17 18:55:10 +01:00

94 lines
2.5 KiB
Docker

FROM php:7.0-apache
ENV NEXTCLOUD_VERSION 12.0.4
RUN \
apt-get update && \
apt-get install -y --no-install-recommends \
supervisor \
cron \
sudo \
libav-tools \
libldap2-dev \
libxml2-dev \
libpng-dev \
libcurl4-openssl-dev \
libmagickwand-dev \
libbz2-dev \
icu-devtools \
libicu-dev \
libmcrypt-dev \
libfreetype6-dev \
libssl-dev \
libjpeg-dev \
curl \
cron && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
#Dirty hack to circumvent bug in phpize which is open since May 2016
#Basically the "missing" config.m4 is named "config0.m4"
#This tries to install zlib and if it doesn't work then rename the file and try again"
RUN \
docker-php-ext-install zlib || \
( mv /usr/src/php/ext/zlib/config0.m4 /usr/src/php/ext/zlib/config.m4 && \
docker-php-ext-install zlib )
# See above
RUN \
docker-php-ext-install openssl || \
( mv /usr/src/php/ext/openssl/config0.m4 /usr/src/php/ext/openssl/config.m4 && \
docker-php-ext-install openssl )
RUN \
docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu && \
docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ && \
docker-php-ext-install \
ldap \
ctype \
dom \
gd \
iconv \
json \
mbstring \
xmlwriter \
zip \
pdo_mysql \
curl \
bz2 \
intl \
opcache \
mcrypt && \
CFLAGS="-I/usr/src/php" docker-php-ext-install xmlreader
RUN \
pecl install -o -f redis imagick-beta && \
rm -rf /tmp/pear && \
docker-php-ext-enable redis imagick
# Activate user-defined .htaccess
RUN \
a2enmod rewrite env
# Add extra configuration to php.ini
ADD nextcloud_php.ini /usr/local/etc/php/conf.d/nextcloud_php.ini
RUN \
curl -o /tmp/nextcloud.tar.bz2 https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2 && \
tar xvjf /tmp/nextcloud.tar.bz2 -C /tmp && \
rm -rf /var/www/html && \
mv /tmp/nextcloud /var/www/html && \
chown -R www-data:www-data /var/www/html && \
rm /tmp/nextcloud.tar.bz2
# Add supervisor and cron config
ADD crontab /opt/crontab
ADD supervisord.conf /etc/supervisor/conf.d/supervisord.conf
ADD update-htaccess.sh /update-htaccess.sh
RUN crontab /opt/crontab && chmod +x /update-htaccess.sh
VOLUME ["/var/www/html/config","/var/www/html/data"]
ENTRYPOINT ["supervisord"]