# FROM nextcloud:12.0.4 # FROM nextcloud:13.0.12 # FROM nextcloud:16 # FROM nextcloud:17 # FROM nextcloud:18.0.6-apache # FROM nextcloud:19.0.3-apache # FROM nextcloud:20.0.0-apache # FROM nextcloud:20.0.5-apache # FROM nextcloud:21.0.2-apache # FROM nextcloud:22.2-apache # FROM nextcloud:23.0.2-apache # FROM nextcloud:24.0.2-apache # FROM nextcloud:25.0.4-apache # FROM nextcloud:26.0.2-apache # FROM nextcloud:27.0.2-apache # FROM nextcloud:27.1.1-apache # FROM nextcloud:27.1.3-apache # FROM nextcloud:27.1.4-apache FROM nextcloud:28.0.1-apache # This is a stupid comment for a demo (remove later) RUN apt-get update \ && apt-get install -y clamdscan nano ghostscript \ && apt-get clean # ## Enable REDIS extension # RUN pecl channel-update pecl.php.net \ # && sh -c "yes '' | pecl install redis" \ # && rm -rf /tmp/pear \ # && rm -f /usr/local/etc/php/glenux-redis.ini \ # && echo "extension=redis.so" >> /usr/local/etc/php/glenux-redis.ini \ # && docker-php-ext-enable redis ## Enable APCU extension # RUN pecl channel-update pecl.php.net \ # && pecl install apcu-${APCU_VERSION} \ # && rm -f /usr/local/etc/php/glenux-apcu.ini \ # && echo "extension=apcu.so" >> /usr/local/etc/php/glenux-apcu.ini \ # && echo "apc.enable_cli=1" >> /usr/local/etc/php/glenux-apcu.ini \ # && echo "apc.enable=1" >> /usr/local/etc/php/glenux-apcu.ini \ # && docker-php-ext-enable apcu # Mandatory for bookmark extension # but missing from deb packages # RUN apt-get update \ # && apt-get install -y php7.3-gmp ## ## GMP Support (for bookmark extension) ## RUN apt-get update && apt-get install -y libgmp3-dev \ && docker-php-ext-install gmp ## ## BZ2 Support (for nextcloud) ## RUN apt-get update && apt-get install -y libbz2-dev \ && docker-php-ext-install bz2 ## ## SVG and LibreSign support ## RUN apt-get update && apt-get install -y \ libmagickcore-6.q16-6-extra \ && rm -rf /var/lib/apt/lists/* RUN sed -i'' 's|.*|g' \ /etc/ImageMagick-6/policy.xml ## ## Raise memory limit for PHP ## ENV PHP_MEMORY_LIMIT=1024M ENV PHP_UPLOAD_LIMIT=1800M RUN echo '[opcache]' > /usr/local/etc/php/conf.d/opcache.ini \ && echo 'opcache.memory_consumption=256' >> /usr/local/etc/php/conf.d/opcache.ini \ && echo '[PHP]' > /usr/local/etc/php/conf.d/memory-limit.ini \ && echo 'memory_limit=1024M' >> /usr/local/etc/php/conf.d/memory-limit.ini ## ## CRON SETUP ## ## Based on https://github.com/nextcloud/docker/tree/master/.examples/dockerfiles/cron/apache ## RUN echo '*/5 * * * * php -d memory_limit=1024M -f /var/www/html/cron.php' \ > /var/spool/cron/crontabs/www-data RUN apt-get update && apt-get install -y \ supervisor \ && rm -rf /var/lib/apt/lists/* \ && mkdir /var/log/supervisord /var/run/supervisord COPY supervisord.conf /etc/supervisord.conf COPY app.json /app/app.json COPY postdeploy.sh /app/postdeploy.sh ENV NEXTCLOUD_UPDATE=1 CMD ["/usr/bin/supervisord", "-c", "/etc/supervisord.conf"]