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.

119 lines
4.0 KiB

  1. FROM dimti/workspace:7.3
  2. ARG PHP_VERSION=7.3
  3. ###########################################################################
  4. # Laradock non-root user:
  5. ###########################################################################
  6. ARG CUSTOM_PUID=1000
  7. ENV PUID ${CUSTOM_PUID}
  8. ARG CUSTOM_PGID=1000
  9. ENV PGID ${CUSTOM_PGID}
  10. RUN usermod -u ${CUSTOM_PUID} laradock && groupmod -g ${CUSTOM_PGID} laradock
  11. RUN chown -R ${CUSTOM_PUID}:${CUSTOM_PGID} /home/laradock
  12. ###########################################################################
  13. # Set Timezone
  14. ###########################################################################
  15. ARG CUSTOM_TZ=Europe/Moscow
  16. ENV TZ ${CUSTOM_TZ}
  17. RUN ln -snf /usr/share/zoneinfo/$CUSTOM_TZ /etc/localtime && echo $CUSTOM_TZ > /etc/timezone
  18. ###########################################################################
  19. # Additional PHP-extensions:
  20. ###########################################################################
  21. #RUN pecl install igbinary && pecl install -a redis
  22. RUN pecl install -a redis
  23. RUN echo "extension=redis.so" > /etc/php/${PHP_VERSION}/cli/conf.d/20-redis.ini
  24. ###########################################################################
  25. # Update composer version
  26. ###########################################################################
  27. USER root
  28. ARG COMPOSER_VERSION=2
  29. ENV COMPOSER_VERSION ${COMPOSER_VERSION}
  30. RUN composer self-update --${COMPOSER_VERSION}
  31. ###########################################################################
  32. # Install custom node version
  33. ###########################################################################
  34. USER root
  35. ARG CUSTOM_NODE_VERSION
  36. ENV CUSTOM_NODE_VERSION ${CUSTOM_NODE_VERSION}
  37. RUN if [ ! -z "${CUSTOM_NODE_VERSION}" ]; then \
  38. . ~/.bashrc && nvm install ${CUSTOM_NODE_VERSION} \
  39. && . ~/.bashrc && nvm alias default ${CUSTOM_NODE_VERSION} \
  40. && cp -R ~/.nvm/alias /home/laradock/.nvm \
  41. && cp -R ~/.nvm/versions /home/laradock/.nvm \
  42. && chown -R ${CUSTOM_PUID}:${CUSTOM_PGID} /home/laradock/.nvm \
  43. ;fi
  44. ###########################################################################
  45. # Remove DST_Root_CA3
  46. ###########################################################################
  47. RUN sed -i 's/^mozilla\/DST_Root_CA_X3\.crt/!mozilla\/DST_Root_CA_X3.crt/g' /etc/ca-certificates.conf && update-ca-certificates
  48. ###########################################################################
  49. # Laradock Aliases
  50. ###########################################################################
  51. USER laradock
  52. COPY ./aliases.sh /home/laradock/aliases.sh
  53. RUN echo "" >> ~/.bashrc && \
  54. echo "# Load Custom Aliases" >> ~/.bashrc && \
  55. echo "source ~/aliases.sh" >> ~/.bashrc && \
  56. echo "" >> ~/.bashrc
  57. ###########################################################################
  58. # S3 config
  59. ###########################################################################
  60. USER laradock
  61. COPY ./minio/auth.json /home/laradock/.mc/config.json
  62. ###########################################################################
  63. # Tune opts:
  64. ###########################################################################
  65. USER root
  66. ARG PHP_OPT_SHORT_OPEN_TAG=Off
  67. RUN sed -i "s/^short_open_tag = .*/short_open_tag = $PHP_OPT_SHORT_OPEN_TAG/g" /etc/php/${PHP_VERSION}/cli/php.ini
  68. ARG PHP_OPT_MAX_EXECUTION_TIME=600
  69. RUN sed -i "s/^max_execution_time = .*/max_execution_time = $PHP_OPT_MAX_EXECUTION_TIME/g" /etc/php/${PHP_VERSION}/cli/php.ini
  70. ARG PHP_OPT_MEMORY_LIMIT=256M
  71. RUN sed -i "s/^memory_limit = .*/memory_limit = $PHP_OPT_MEMORY_LIMIT/g" /etc/php/${PHP_VERSION}/cli/php.ini
  72. ARG PHP_OPT_POST_MAX_SIZE=48M
  73. RUN sed -i "s/^post_max_size = .*/post_max_size = $PHP_OPT_UPLOAD_MAX_FILESIZE/g" /etc/php/${PHP_VERSION}/cli/php.ini
  74. ARG PHP_OPT_UPLOAD_MAX_FILESIZE=16M
  75. RUN sed -i "s/^upload_max_filesize = .*/upload_max_filesize = $PHP_OPT_UPLOAD_MAX_FILESIZE/g" /etc/php/${PHP_VERSION}/cli/php.ini
  76. ###########################################################################
  77. # Crontab
  78. ###########################################################################
  79. USER root
  80. COPY ./crontab /etc/cron.d
  81. RUN chmod -R 644 /etc/cron.d