No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

63 líneas
2.5KB

  1. FROM bingen/amd64-nginx-php
  2. ENV DEBIAN_FRONTEND=noninteractive
  3. ARG NEXTCLOUD_VERSION
  4. ARG NEXTCLOUD_DATA_PATH
  5. ARG NEXTCLOUD_BACKUP_PATH
  6. # php-gmp php-intl are needed for Bookmarks app
  7. RUN \
  8. wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg && \
  9. apt-get update && \
  10. apt-get install -y wget bzip2 vim rsync mariadb-client cron sudo php-imagick php7.2-gmp php7.2-intl && \
  11. apt-get clean
  12. # Change upload-limits and -sizes
  13. RUN sed -i "s/upload_max_filesize = 2M/upload_max_filesize = 2048M/g" /etc/php/7.2/fpm/php.ini && \
  14. sed -i "s/post_max_size = 8M/post_max_size =root123 2048M/g" /etc/php/7.2/fpm/php.ini && \
  15. echo 'default_charset = "UTF-8"' >> /etc/php/7.2/fpm/php.ini && \
  16. echo "upload_tmp_dir = ${NEXTCLOUD_DATA_PATH}" >> /etc/php/7.2/fpm/php.ini && \
  17. echo "extension = apc.so" >> /etc/php/7.2/fpm/php.ini && \
  18. echo "apc.enabled = 1" >> /etc/php/7.2/fpm/php.ini && \
  19. echo "apc.include_once_override = 0" >> /etc/php/7.2/fpm/php.ini && \
  20. echo "apc.shm_size = 256" >> /etc/php/7.2/fpm/php.ini
  21. # now add our hand-written nginx-default-configuration which makes use of all the stuff so far prepared
  22. COPY default /etc/nginx/sites-available/default
  23. # PHP config
  24. COPY php_nc.ini /tmp/php_nc.ini
  25. RUN cat /tmp/php_nc.ini >> /etc/php/7.2/fpm/php.ini && \
  26. cat /tmp/php_nc.ini >> /etc/php/7.2/cli/php.ini
  27. # https://docs.nextcloud.com/server/13/admin_manual/installation/source_installation.html#php-fpm-tips-label
  28. RUN sed -i 's/^;env/env/g' /etc/php/7.2/fpm/pool.d/www.conf
  29. # Create the data-directory where NEXTCLOUD can store its stuff
  30. RUN mkdir -p "${NEXTCLOUD_DATA_PATH}" && \
  31. chown -R www-data:www-data "${NEXTCLOUD_DATA_PATH}" && \
  32. mkdir -p "${NEXTCLOUD_BACKUP_PATH}"
  33. # finally, download NEXTCLOUD and extract it
  34. RUN mkdir -p /var/www
  35. WORKDIR /var/www
  36. RUN wget https://download.nextcloud.com/server/releases/${NEXTCLOUD_VERSION}.tar.bz2 && \
  37. tar xvf ${NEXTCLOUD_VERSION}.tar.bz2 && \
  38. chown -R www-data:www-data nextcloud && \
  39. rm ${NEXTCLOUD_VERSION}.tar.bz2
  40. WORKDIR /
  41. COPY docker-entrypoint.sh /usr/local/bin/entrypoint.sh
  42. RUN chmod +x /usr/local/bin/entrypoint.sh
  43. COPY backup.sh /etc/cron.daily/backup
  44. RUN chmod +x /etc/cron.daily/backup
  45. RUN (crontab -l 2>/dev/null; echo "*/5 * * * * php -f /var/www/nextcloud/cron.php") | crontab -u www-data -
  46. #VOLUME ${NEXTCLOUD_DATA_PATH}
  47. #VOLUME ${NEXTCLOUD_BACKUP_PATH}
  48. ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
  49. CMD service php7.2-fpm start && nginx
  50. #CMD ["service", "php7.2-fpm", "start", "&&", "nginx"]