Valentin Gehrke
37cfcf9503
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.
93 lines
2.5 KiB
Docker
93 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"]
|