FROM bingen/amd64-nginx-php ENV DEBIAN_FRONTEND=noninteractive ARG NEXTCLOUD_VERSION ARG NEXTCLOUD_DATA_PATH ARG NEXTCLOUD_BACKUP_PATH # php-gmp php-intl are needed for Bookmarks app RUN \ wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg && \ apt-get update && \ apt-get install -y wget bzip2 vim rsync mariadb-client cron sudo php-imagick php7.4-gmp php7.4-intl && \ apt-get clean # Change upload-limits and -sizes RUN sed -i "s/upload_max_filesize = 2M/upload_max_filesize = 2048M/g" /etc/php/7.4/fpm/php.ini && \ sed -i "s/post_max_size = 8M/post_max_size =root123 2048M/g" /etc/php/7.4/fpm/php.ini && \ echo 'default_charset = "UTF-8"' >> /etc/php/7.4/fpm/php.ini && \ echo "upload_tmp_dir = ${NEXTCLOUD_DATA_PATH}" >> /etc/php/7.4/fpm/php.ini && \ echo "extension = apc.so" >> /etc/php/7.4/fpm/php.ini && \ echo "apc.enabled = 1" >> /etc/php/7.4/fpm/php.ini && \ echo "apc.include_once_override = 0" >> /etc/php/7.4/fpm/php.ini && \ echo "apc.shm_size = 256" >> /etc/php/7.4/fpm/php.ini # now add our hand-written nginx-default-configuration which makes use of all the stuff so far prepared COPY default /etc/nginx/sites-available/default # PHP config COPY php_nc.ini /tmp/php_nc.ini RUN cat /tmp/php_nc.ini >> /etc/php/7.4/fpm/php.ini && \ cat /tmp/php_nc.ini >> /etc/php/7.4/cli/php.ini # https://docs.nextcloud.com/server/13/admin_manual/installation/source_installation.html#php-fpm-tips-label RUN sed -i 's/^;env/env/g' /etc/php/7.4/fpm/pool.d/www.conf # https://github.com/nextcloud/vm/issues/2039#issuecomment-876204446 RUN echo "" >> /etc/php/7.4/mods-available/apcu.ini RUN echo "apc.enable_cli=1" >> /etc/php/7.4/mods-available/apcu.ini # Create the data-directory where NEXTCLOUD can store its stuff RUN mkdir -p "${NEXTCLOUD_DATA_PATH}" && \ chown -R www-data:www-data "${NEXTCLOUD_DATA_PATH}" && \ mkdir -p "${NEXTCLOUD_BACKUP_PATH}" # finally, download NEXTCLOUD and extract it RUN mkdir -p /var/www WORKDIR /var/www RUN wget https://download.nextcloud.com/server/releases/${NEXTCLOUD_VERSION}.tar.bz2 && \ tar xvf ${NEXTCLOUD_VERSION}.tar.bz2 && \ chown -R www-data:www-data nextcloud && \ rm ${NEXTCLOUD_VERSION}.tar.bz2 WORKDIR / COPY docker-entrypoint.sh /usr/local/bin/entrypoint.sh RUN chmod +x /usr/local/bin/entrypoint.sh COPY backup.sh /etc/cron.daily/backup RUN chmod +x /etc/cron.daily/backup RUN (crontab -l 2>/dev/null; echo "*/5 * * * * php -f /var/www/nextcloud/cron.php") | crontab -u www-data - #VOLUME ${NEXTCLOUD_DATA_PATH} #VOLUME ${NEXTCLOUD_BACKUP_PATH} ENTRYPOINT ["/usr/local/bin/entrypoint.sh"] CMD service php7.4-fpm start && nginx #CMD ["service", "php7.4-fpm", "start", "&&", "nginx"]