You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
2.7 KiB

  1. FROM dimti/php:7.3
  2. ###########################################################################
  3. # Redis and igbinary:
  4. ###########################################################################
  5. ARG INSTALL_REDIS=false
  6. COPY ./igbinary.ini /usr/local/etc/php/conf.d/igbinary.ini
  7. RUN if [ ${INSTALL_REDIS} = true ]; then \
  8. pecl install -a igbinary \
  9. && docker-php-ext-enable igbinary \
  10. && printf "yes\n" | pecl install redis \
  11. && docker-php-ext-enable redis \
  12. ;fi
  13. ###########################################################################
  14. # Pear Mail and Mail_Mime:
  15. ###########################################################################
  16. ARG INSTALL_PEAR_MAIL=false
  17. RUN if [ ${INSTALL_PEAR_MAIL} = true ]; then \
  18. pear install Mail && pear install Mail_Mime \
  19. ;fi
  20. ###########################################################################
  21. # xDebug (termporary):
  22. ###########################################################################
  23. # Copy xdebug configuration for remote debugging
  24. COPY ./xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini
  25. ###########################################################################
  26. # Tune opts:
  27. ###########################################################################
  28. ARG PHP_OPT_SHORT_OPEN_TAG=Off
  29. RUN sed -i "s/^short_open_tag = .*/short_open_tag = $PHP_OPT_SHORT_OPEN_TAG/g" "$PHP_INI_DIR/php.ini"
  30. ARG PHP_OPT_MAX_EXECUTION_TIME=30
  31. RUN sed -i "s/^max_execution_time = .*/max_execution_time = $PHP_OPT_MAX_EXECUTION_TIME/g" "$PHP_INI_DIR/php.ini"
  32. ARG PHP_OPT_MEMORY_LIMIT=128M
  33. RUN sed -i "s/^memory_limit = .*/memory_limit = $PHP_OPT_MEMORY_LIMIT/g" "$PHP_INI_DIR/php.ini"
  34. ARG PHP_OPT_UPLOAD_MAX_FILESIZE=2M
  35. RUN sed -i "s/^upload_max_filesize = .*/upload_max_filesize = $PHP_OPT_UPLOAD_MAX_FILESIZE/g" "$PHP_INI_DIR/php.ini"
  36. ###########################################################################
  37. # Locales:
  38. ###########################################################################
  39. RUN apt update && \
  40. apt install -y locales && \
  41. sed -i 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
  42. sed -i 's/# ru_RU.UTF-8 UTF-8/ru_RU.UTF-8 UTF-8/' /etc/locale.gen && \
  43. locale-gen
  44. ###########################################################################
  45. # Install custom node version
  46. ###########################################################################
  47. USER root
  48. ARG CUSTOM_NODE_VERSION
  49. ENV CUSTOM_NODE_VERSION ${CUSTOM_NODE_VERSION}
  50. RUN if [ ${CUSTOM_NODE_VERSION} = true ]; then \
  51. . ~/.bashrc && nvm install lts/erbium \
  52. && . ~/.bashrc && nvm alias default lts/erbium \
  53. && cp -R ~/.nvm/alias /home/laradock/.nvm \
  54. && cp -R ~/.nvm/versions /home/laradock/.nvm \
  55. && chown -R ${CUSTOM_PUID}:${CUSTOM_PGID} /home/laradock/.nvm \
  56. ;fi