Advertisement
kref

logopad dockerfile

Jul 23rd, 2023
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.65 KB | None | 0 0
  1. ARG NODE_VERSION=18.16.0
  2.  
  3. FROM node:${NODE_VERSION}-alpine AS node
  4.  
  5. FROM php:7.4-fpm-alpine as base
  6.  
  7. ARG project_root=.
  8.  
  9. COPY --from=node /usr/lib /usr/lib
  10. COPY --from=node /usr/local/lib /usr/local/lib
  11. COPY --from=node /usr/local/include /usr/local/include
  12. COPY --from=node /usr/local/bin /usr/local/bin
  13.  
  14. RUN node -v
  15.  
  16. RUN apk add --no-cache tzdata
  17. ENV TZ=Europe/Prague
  18.  
  19. # freetype-dev needed by "gd" extension
  20. # icu-dev needed by "intl" extension
  21. # libjpeg-turbo-dev needed by "gd" extension
  22. # libpng-dev needed by "gd" extension
  23. # libzip-dev needed by "zip" extension
  24. # git needed by smyfony/flex
  25. RUN apk add --update \
  26. autoconf \
  27. automake \
  28. dos2unix \
  29. freetype-dev \
  30. g++ \
  31. icu-dev \
  32. libjpeg-turbo-dev \
  33. libpng-dev \
  34. libtool \
  35. libzip-dev \
  36. make \
  37. nasm \
  38. npm \
  39. git \
  40. yarn
  41.  
  42. # install Composer
  43. COPY ${project_root}/docker/php-fpm/docker-install-composer /usr/local/bin/docker-install-composer
  44. RUN dos2unix /usr/local/bin/docker-install-composer \
  45. && chmod +x /usr/local/bin/docker-install-composer \
  46. && docker-install-composer
  47.  
  48. # "zip" extension warns about deprecation if we do not use a system library
  49. RUN docker-php-ext-configure zip
  50.  
  51. # "gd" extension needs to have specified jpeg and freetype dir for jpg/jpeg images support
  52. RUN docker-php-ext-configure gd --with-freetype --with-jpeg
  53.  
  54. # install necessary PHP extensions requested by Composer
  55. RUN docker-php-ext-install \
  56. bcmath \
  57. gd \
  58. intl \
  59. opcache \
  60. pdo_mysql \
  61. zip
  62.  
  63. #RUN pecl install apcu-5.1.5 \
  64. # && docker-php-ext-enable apcu
  65.  
  66. #RUN pecl install xdebug \
  67. # && docker-php-ext-enable xdebug
  68.  
  69. # install locales and switch to en_US.utf8 in order to enable UTF-8 support
  70. # see https://github.com/docker-library/php/issues/240#issuecomment-305038173
  71. RUN apk add --update --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/community gnu-libiconv
  72. ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so php
  73. ENV LC_ALL=en_US.utf8 LANG=en_US.utf8 LANGUAGE=en_US.utf8
  74.  
  75. # Setup www-data user and group
  76. ARG www_data_uid
  77. ARG www_data_gid
  78.  
  79. RUN if [ -n "$www_data_uid" ]; \
  80. then \
  81. deluser www-data \
  82. && (addgroup -g $www_data_gid www-data || addgroup -g 82 www-data) \
  83. && adduser -u $www_data_uid -D -S -G www-data www-data; \
  84. fi; \
  85. chown -R www-data:www-data /home/www-data /var/www/html
  86.  
  87. USER www-data
  88.  
  89. COPY ${project_root}/docker/php-fpm/php.ini /usr/local/etc/php/php.ini
  90.  
  91. # Give owner rights to the current user
  92. #RUN chown -Rh www-data:www-data /var/www/html/node_modules
  93.  
  94.  
  95. # Install (local) Yarn packages and build
  96. #RUN yarn
  97.  
  98.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement