Skip to content

Commit

Permalink
Update PHP images
Browse files Browse the repository at this point in the history
  • Loading branch information
back-2-95 committed Sep 13, 2024
1 parent 27bab9b commit 1e2b7cd
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 18 deletions.
36 changes: 18 additions & 18 deletions php/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@ ARG PHP_SHORT_VERSION
#
# libiconv
#
FROM alpine:3.13 as libiconv
FROM alpine:3.13 AS libiconv

RUN apk --no-cache add gnu-libiconv && test -f /usr/lib/preloadable_libiconv.so

#
# Base
#
FROM alpine:${ALPINE_VERSION} as base
FROM alpine:${ALPINE_VERSION} AS base

ARG ALPINE_VERSION

Expand Down Expand Up @@ -65,7 +65,7 @@ CMD ["tail", "-f", "/dev/null"]
#
# PHP 8.1
#
FROM base as build-php-81
FROM base AS build-php-81

ENV PHP_MAJOR_VERSION=8
ENV PHP_SHORT_VERSION=81
Expand All @@ -83,7 +83,7 @@ COPY files/etc/php/conf.d/* /etc/php81/conf.d/
#
# PHP 8.2
#
FROM base as build-php-82
FROM base AS build-php-82

ENV PHP_MAJOR_VERSION=8
ENV PHP_SHORT_VERSION=82
Expand All @@ -103,7 +103,7 @@ COPY files/etc/php/conf.d/* /etc/php82/conf.d/
#
# PHP 8.3
#
FROM base as build-php-83
FROM base AS build-php-83

ENV PHP_MAJOR_VERSION=8
ENV PHP_SHORT_VERSION=83
Expand All @@ -124,7 +124,7 @@ COPY files/etc/php/conf.d/* /etc/php83/conf.d/
#
# PHP 8.4
#
FROM base as build-php-84
FROM base AS build-php-84

ENV PHP_MAJOR_VERSION=8
ENV PHP_SHORT_VERSION=84
Expand All @@ -145,7 +145,7 @@ COPY files/etc/php/conf.d/* /etc/php84/conf.d/
#
# PHP
#
FROM build-php-${PHP_SHORT_VERSION} as final-php
FROM build-php-${PHP_SHORT_VERSION} AS final-php

# Fix iconv library with Alpine by gnu-libiconv
COPY --from=libiconv /usr/lib/preloadable_libiconv.so /usr/lib/preloadable_libiconv.so
Expand All @@ -168,7 +168,7 @@ EOF
# PHP-FPM
#

FROM final-php as build-php-fpm-81
FROM final-php AS build-php-fpm-81

RUN sudo -s <<EOF
apk --no-cache add php81-fpm
Expand All @@ -177,7 +177,7 @@ EOF

COPY files/etc/php/php-fpm.d/www.conf.ep /etc/php81/php-fpm.d/www.conf.ep

FROM final-php as build-php-fpm-82
FROM final-php AS build-php-fpm-82

RUN sudo -s <<EOF
apk --no-cache add php82-fpm
Expand All @@ -186,7 +186,7 @@ EOF

COPY files/etc/php/php-fpm.d/www.conf.ep /etc/php82/php-fpm.d/www.conf.ep

FROM final-php as build-php-fpm-83
FROM final-php AS build-php-fpm-83

RUN sudo -s <<EOF
apk --no-cache add php83-fpm
Expand All @@ -195,7 +195,7 @@ EOF

COPY files/etc/php/php-fpm.d/www.conf.ep /etc/php83/php-fpm.d/www.conf.ep

FROM final-php as build-php-fpm-84
FROM final-php AS build-php-fpm-84

RUN sudo -s <<EOF
apk --no-cache --repository=https://dl-cdn.alpinelinux.org/alpine/edge/testing add php84-fpm
Expand All @@ -208,7 +208,7 @@ COPY files/etc/php/php-fpm.d/www.conf.ep /etc/php84/php-fpm.d/www.conf.ep
# Final PHP-FPM
#

FROM build-php-fpm-${PHP_SHORT_VERSION} as final-php-fpm
FROM build-php-fpm-${PHP_SHORT_VERSION} AS final-php-fpm

ENV PHP_SENDMAIL_PATH="/usr/bin/msmtp -t"

Expand All @@ -224,30 +224,30 @@ CMD ["sudo", "-E", "LD_PRELOAD=/usr/lib/preloadable_libiconv.so", "php-fpm", "-F
# Drupal base
#

FROM final-php-fpm as drupal-php-81
FROM final-php-fpm AS drupal-php-81

RUN sudo -s <<EOF
apk --no-cache add mysql-client openssh rsync mariadb-connector-c \
php81-{bcmath,ctype,dom,exif,gd,intl,pdo,pdo_mysql,simplexml,soap,sockets,sodium,tokenizer,xml,xmlreader,xmlwriter}
EOF

FROM final-php-fpm as drupal-php-82
FROM final-php-fpm AS drupal-php-82

RUN sudo -s <<EOF
apk --no-cache add mysql-client openssh rsync icu-libs mariadb-connector-c
apk --no-cache add \
php82-{bcmath,ctype,dom,exif,gd,intl,pdo,pdo_mysql,simplexml,soap,sockets,sodium,tokenizer,xml,xmlreader,xmlwriter}
EOF

FROM final-php-fpm as drupal-php-83
FROM final-php-fpm AS drupal-php-83

RUN sudo -s <<EOF
apk --no-cache add mysql-client openssh rsync libavif icu-libs libsodium mariadb-connector-c
apk --no-cache add \
php83-{bcmath,ctype,dom,exif,gd,intl,pdo,pdo_mysql,simplexml,soap,sockets,sodium,tokenizer,xml,xmlreader,xmlwriter}
EOF

FROM final-php-fpm as drupal-php-84
FROM final-php-fpm AS drupal-php-84

RUN sudo -s <<EOF
apk --no-cache add mysql-client openssh rsync libavif icu-libs libsodium mariadb-connector-c
Expand All @@ -259,7 +259,7 @@ EOF
# Drupal PHP
#

FROM drupal-php-${PHP_SHORT_VERSION} as drupal-base
FROM drupal-php-${PHP_SHORT_VERSION} AS drupal-base

ENV DRUPAL_DB_NAME=drupal \
DRUPAL_DB_USER=drupal \
Expand All @@ -278,7 +278,7 @@ COPY drupal/set-permissions.sh /entrypoints/99-set-permissions.sh
#
# Drupal Web
#
FROM drupal-base as drupal-web
FROM drupal-base AS drupal-web

RUN sudo -s <<EOF
apk --no-cache add nginx
Expand Down
5 changes: 5 additions & 0 deletions php/drupal/set-permissions.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
#!/bin/bash

# @see https://www.drupal.org/docs/administering-a-drupal-site/security-in-drupal/securing-file-permissions-and-ownership

function set_permissions {
FILES_PATH=/app/${WEBROOT:-public}/sites/default/files/

Expand All @@ -8,6 +10,9 @@ function set_permissions {

echo "- Set ownership of ${FILES_PATH} to www-data"
sudo chown -R www-data:www-data "${FILES_PATH}"

echo "- Set group permissions for ${FILES_PATH}"
sudo chmod g+rwx "${FILES_PATH}"
}

set_permissions &

0 comments on commit 1e2b7cd

Please sign in to comment.