# https://owncloud.com/minimum-product-requirements/ ("5.6 recommended") # https://doc.owncloud.org/server/10.0/admin_manual/installation/system_requirements.html ("PHP (5.6+ or 7.0+)") # https://doc.owncloud.org/server/9.0/admin_manual/installation/system_requirements.html ("PHP 7.0") #FROM php:7.0-apache FROM blepiolot/rpi-apache-php:latest RUN apt-get update && apt-get install -y --no-install-recommends \ bzip2 \ libcurl4-openssl-dev \ libfreetype6-dev \ libicu-dev \ libjpeg-dev \ libldap2-dev \ libmcrypt-dev \ libmemcached-dev \ libpng12-dev \ libpq-dev \ libxml2-dev \ vim \ && rm -rf /var/lib/apt/lists/* # Set Timezone RUN echo "TZ='Europe/Paris'; export TZ" > /etc/profile # https://doc.owncloud.org/server/8.1/admin_manual/installation/source_installation.html#prerequisites RUN set -ex; \ docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr; \ debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \ docker-php-ext-configure ldap --with-libdir="lib/$debMultiarch"; \ docker-php-ext-install exif gd intl ldap mbstring mcrypt opcache pdo pdo_mysql pdo_pgsql pgsql zip # set recommended PHP.ini settings # see https://secure.php.net/manual/en/opcache.installation.php RUN { \ echo 'opcache.memory_consumption=128'; \ echo 'opcache.interned_strings_buffer=8'; \ echo 'opcache.max_accelerated_files=4000'; \ echo 'opcache.revalidate_freq=60'; \ echo 'opcache.fast_shutdown=1'; \ echo 'opcache.enable_cli=1'; \ } > /usr/local/etc/php/conf.d/opcache-recommended.ini # Enable Apache modules RUN set -ex; \ a2enmod rewrite; \ a2enmod ssl; # Packages to issue let's encrypt certificates RUN set -ex ; \ echo "deb http://ftp.debian.org/debian jessie-backports main" > /etc/apt/sources.list.d/backport.list; \ apt-key adv --keyserver ha.pool.sks-keyservers.net --recv-keys 8B48AD6246925553; \ apt-key adv --keyserver ha.pool.sks-keyservers.net --recv-keys 7638D0442B90D010; \ apt-get update; \ apt-get install python-certbot-apache -t jessie-backports; # You will have to set ServerName and run "certbot --apache" in the image # PECL extensions RUN set -ex \ && pecl install APCu-5.1.8 \ && pecl install memcached-3.0.3 \ && pecl install redis-3.1.2 \ && docker-php-ext-enable apcu memcached redis ENV OWNCLOUD_VERSION 10.0.4 VOLUME /var/www/html RUN curl -fsSL -o owncloud.tar.bz2 \ "https://download.owncloud.org/community/owncloud-${OWNCLOUD_VERSION}.tar.bz2" \ && curl -fsSL -o owncloud.tar.bz2.asc \ "https://download.owncloud.org/community/owncloud-${OWNCLOUD_VERSION}.tar.bz2.asc" \ && export GNUPGHOME="$(mktemp -d)" \ # gpg key from https://owncloud.org/owncloud.asc && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys E3036906AD9F30807351FAC32D5D5E97F6978A26 \ && gpg --batch --verify owncloud.tar.bz2.asc owncloud.tar.bz2 \ && rm -r "$GNUPGHOME" owncloud.tar.bz2.asc \ && tar -xjf owncloud.tar.bz2 -C /usr/src/ \ && rm owncloud.tar.bz2 VOLUME /etc/apache2 VOLUME /etc/letsencrypt COPY docker-entrypoint.sh /usr/local/bin/ ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] CMD ["apache2-foreground"]