Dockerfile 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. # ./docker/php/Dockerfile
  2. FROM php:8.2.1-fpm
  3. ARG COMPOSER_HASH
  4. ARG OS
  5. ARG HOST
  6. ARG DEBIAN_FRONTEND=noninteractive
  7. RUN apt-get update && apt-get install -y --fix-missing \
  8. apt-utils \
  9. gnupg
  10. ## Si erreur de PUBKEY :
  11. RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E9C74FEEA2098A6E
  12. RUN echo "deb https://packages.dotdeb.org jessie all" >> /etc/apt/sources.list
  13. RUN echo "deb-src https://packages.dotdeb.org jessie all" >> /etc/apt/sources.list
  14. RUN apt-get clean
  15. RUN apt-get update
  16. RUN apt-get install --fix-missing --no-install-recommends -y \
  17. zlib1g-dev libicu-dev g++ \
  18. libjpeg62-turbo-dev \
  19. libzip-dev \
  20. libpng-dev \
  21. libtidy-dev \
  22. libssl-dev \
  23. libxslt-dev \
  24. libxrender-dev \
  25. libxrender1 \
  26. libxt6 \
  27. libxtst6 \
  28. openssh-server \
  29. build-essential \
  30. xorg \
  31. iputils-ping \
  32. wget \
  33. gdebi \
  34. ca-certificates \
  35. wget \
  36. xz-utils \
  37. fontconfig \
  38. git \
  39. nano \
  40. acl \
  41. procps \
  42. libmagickwand-dev \
  43. imagemagick \
  44. zip
  45. # Install wkhtmltopdf and wkhtmltoimage \
  46. # RUN wget http://archive.ubuntu.com/ubuntu/pool/main/g/glibc/multiarch-support_2.27-3ubuntu1.5_amd64.deb; \
  47. # dpkg -i multiarch-support_2.27-3ubuntu1.5_amd64.deb; \
  48. RUN wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.bullseye_amd64.deb && \
  49. apt --fix-broken install ./wkhtmltox_0.12.6.1-2.bullseye_amd64.deb ; \
  50. rm wkhtmltox_0.12.6.1-2.bullseye_amd64.deb ;
  51. RUN docker-php-ext-configure intl \
  52. && docker-php-ext-install \
  53. intl \
  54. opcache \
  55. pdo_mysql \
  56. exif \
  57. bcmath \
  58. calendar \
  59. gd \
  60. tidy
  61. RUN docker-php-ext-enable intl
  62. RUN docker-php-ext-enable exif
  63. RUN docker-php-ext-enable tidy
  64. RUN docker-php-ext-install zip
  65. RUN docker-php-ext-install xsl
  66. ## APCU
  67. RUN pecl install apcu-5.1.21
  68. ## COMPOSER
  69. RUN php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"; \
  70. php composer-setup.php; \
  71. php -r "unlink('composer-setup.php');"; \
  72. mv composer.phar /usr/local/bin/composer
  73. ######## BLACKFIRE #########
  74. # If you use Alpine, you need to set this value to "alpine"
  75. RUN version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;") \
  76. && curl -A "Docker" -o /tmp/blackfire-probe.tar.gz -D - -L -s https://blackfire.io/api/v1/releases/probe/php/linux/amd64/$version \
  77. && mkdir -p /tmp/blackfire \
  78. && tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp/blackfire \
  79. && mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get ('extension_dir');")/blackfire.so \
  80. && printf "extension=blackfire.so\nblackfire.agent_socket=tcp://blackfire:8707\n" > $PHP_INI_DIR/conf.d/blackfire.ini \
  81. && rm -rf /tmp/blackfire /tmp/blackfire-probe.tar.gz
  82. ######## BLACKFIRE #########
  83. ######## Php conf ########
  84. COPY /.ssh /root/.ssh
  85. COPY /docker/ap2i/conf/memory.ini /usr/local/etc/php/conf.d
  86. COPY /docker/ap2i/conf/apc.ini /usr/local/etc/php/conf.d
  87. COPY /docker/ap2i/conf/execution_time.ini /usr/local/etc/php/conf.d
  88. COPY /docker/ap2i/conf/xdebug.ini /usr/local/etc/php/conf.d
  89. ######## XDebug ########
  90. COPY /docker/ap2i/conf/update_xdebug_ini.php /usr/local/etc/php/conf.d
  91. RUN pecl install xdebug \
  92. && docker-php-ext-enable xdebug \
  93. && php /usr/local/etc/php/conf.d/update_xdebug_ini.php $OS $HOST
  94. ######## FACL and Start ########
  95. ## Create .env.local file
  96. RUN echo "APP_ENV=docker" > .env.local
  97. WORKDIR /var/www/html