diff --git a/docker-compose.yaml b/docker-compose.yaml index 6932dec36..22b7e53c9 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -30,3 +30,13 @@ services: volumes: - .:/var/www/html - ~/.composer:/home/user/.composer + workspace83: + tty: true + build: + context: resources/docker/workspace/8.3 + args: + PUID: "${PUID:-1000}" + PGID: "${PGID:-1000}" + volumes: + - .:/var/www/html + - ~/.composer:/home/user/.composer diff --git a/resources/docker/workspace/8.3/Dockerfile b/resources/docker/workspace/8.3/Dockerfile new file mode 100644 index 000000000..014f592e7 --- /dev/null +++ b/resources/docker/workspace/8.3/Dockerfile @@ -0,0 +1,40 @@ +FROM php:8.3-cli-alpine + +ARG PUID=1000 +ARG PGID=1000 + +RUN apk add --no-cache --virtual .build-deps \ + # for extensions + $PHPIZE_DEPS \ + # for soap + libxml2-dev \ + # for xdebug \ + linux-headers \ + && \ + apk add --no-cache \ + bash \ + # for soap + libxml2 \ + # for composer + unzip \ + && \ + docker-php-ext-install soap \ + && \ + pecl install \ + # pcov for coverage runs + pcov && docker-php-ext-enable pcov \ + && \ + # for debugging + pecl install xdebug && docker-php-ext-enable xdebug \ + && \ + apk del .build-deps + +COPY --from=composer:2 /usr/bin/composer /usr/bin/composer + +WORKDIR /var/www/html + +# Add a non-root user to prevent files being created with root permissions on host machine. +RUN addgroup -g ${PGID} user && \ + adduser -u ${PUID} -G user -D user + +USER user