Dockerfile 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  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. mc \
  12. vim \
  13. libmcrypt-dev \
  14. libicu-dev \
  15. libfreetype6-dev \
  16. libjpeg-dev \
  17. libpng-dev \
  18. libxml2-dev \
  19. unzip \
  20. libzip-dev \
  21. locales \
  22. tzdata \
  23. nano
  24. RUN docker-php-ext-install mysqli \
  25. && docker-php-ext-install pdo_mysql
  26. RUN docker-php-ext-install gd \
  27. && docker-php-ext-configure gd \
  28. && docker-php-ext-enable gd
  29. RUN docker-php-ext-install zip \
  30. && docker-php-ext-configure zip \
  31. && docker-php-ext-enable zip
  32. RUN yes | pecl install ${XDEBUG_VERSION}
  33. RUN curl --insecure 'https://pecl.php.net/get/redis-5.3.7.tgz' -o redis-5.3.7.tgz \
  34. && pecl install --offline redis-5.3.7.tgz \
  35. && rm -rf redis-5.3.7.tgz \
  36. && rm -rf /tmp/pear \
  37. && docker-php-ext-enable redis
  38. # install composer
  39. RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
  40. # create dir "files" for symlink
  41. RUN mkdir /var/files && \
  42. chown ${UID}:${GID} /var/files && \
  43. chown ${UID}:${GID} -R /var/www
  44. # Set working directory
  45. WORKDIR /var/www/
  46. # cleanup
  47. RUN apt-get clean \
  48. && rm -fr /var/lib/apt/lists/* \
  49. && rm -fr /tmp/* \
  50. && rm -fr /var/tmp/*
  51. # Set the locale
  52. RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && locale-gen
  53. ENV LANG en_US.UTF-8
  54. ENV LANGUAGE en_US:en
  55. ENV LC_ALL en_US.UTF-8
  56. #
  57. RUN usermod -u ${UID} www-data
  58. USER ${UID}