Dockerfile 1.6 KB

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