Dockerfile 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. FROM php:8.3-fpm
  2. ARG XDEBUG_VERSION="xdebug-3.4.0"
  3. ARG UID=1000
  4. ARG GID=1000
  5. # Install dependencies
  6. RUN apt-get update && apt-get install -y --no-install-recommends \
  7. htop \
  8. wget \
  9. lynx \
  10. curl \
  11. default-mysql-client \
  12. mc \
  13. vim \
  14. libmcrypt-dev \
  15. libicu-dev \
  16. libfreetype6-dev \
  17. libjpeg-dev \
  18. libwebp-dev \
  19. libpng-dev \
  20. libxml2-dev \
  21. unzip \
  22. libzip-dev \
  23. locales \
  24. tzdata \
  25. nano
  26. RUN docker-php-ext-install mysqli \
  27. && docker-php-ext-install pdo_mysql
  28. RUN docker-php-ext-configure gd --with-freetype --with-jpeg --with-webp \
  29. && docker-php-ext-install gd \
  30. && docker-php-ext-enable gd
  31. RUN docker-php-ext-install zip \
  32. && docker-php-ext-configure zip \
  33. && docker-php-ext-enable zip
  34. RUN yes | pecl install ${XDEBUG_VERSION}
  35. RUN curl --insecure 'https://pecl.php.net/get/redis-5.3.7.tgz' -o redis-5.3.7.tgz \
  36. && pecl install --offline redis-5.3.7.tgz \
  37. && rm -rf redis-5.3.7.tgz \
  38. && rm -rf /tmp/pear \
  39. && docker-php-ext-enable redis
  40. # install composer
  41. RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
  42. # create dir "files" for symlink
  43. RUN mkdir /var/files && \
  44. chown ${UID}:${GID} /var/files && \
  45. chown ${UID}:${GID} -R /var/www
  46. # Set working directory
  47. WORKDIR /var/www/
  48. # cleanup
  49. RUN apt-get clean \
  50. && rm -fr /var/lib/apt/lists/* \
  51. && rm -fr /tmp/* \
  52. && rm -fr /var/tmp/*
  53. # Set the locale
  54. RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && locale-gen
  55. ENV LANG en_US.UTF-8
  56. ENV LANGUAGE en_US:en
  57. ENV LC_ALL en_US.UTF-8
  58. #
  59. RUN usermod -u ${UID} www-data
  60. USER ${UID}