+ php 8.1
* refactoring composer version & auth secrets apply separate for workspaces
This commit is contained in:
5
src/.env
5
src/.env
@ -14,10 +14,7 @@ WORKSPACE_INSTALL_WP_CLI=true
|
||||
WORKSPACE_INSTALL_NODE=true
|
||||
WORKSPACE_INSTALL_GULP=true
|
||||
WORKSPACE_INSTALL_YARN=true
|
||||
WORKSPACE_COMPOSER_VERSION=1
|
||||
WORKSPACE_COMPOSER_GLOBAL_INSTALL=true
|
||||
WORKSPACE_COMPOSER_REPO_PACKAGIST=
|
||||
WORKSPACE_NODE_VERSION=lts/dubnium
|
||||
WORKSPACE_NODE_VERSION=lts/hydrogen
|
||||
WORKSPACE_NPM_REGISTRY=
|
||||
WORKSPACE_YARN_VERSION=latest
|
||||
|
||||
|
@ -30,9 +30,6 @@ services:
|
||||
- INSTALL_S3_MINIO_CLIENT=${WORKSPACE_INSTALL_S3_MINIO_CLIENT}
|
||||
- INSTALL_XDEBUG=${WORKSPACE_INSTALL_XDEBUG}
|
||||
- INSTALL_BZ2=${WORKSPACE_INSTALL_BZ2}
|
||||
- COMPOSER_VERSION=${WORKSPACE_COMPOSER_VERSION}
|
||||
- COMPOSER_GLOBAL_INSTALL=${WORKSPACE_COMPOSER_GLOBAL_INSTALL}
|
||||
- COMPOSER_REPO_PACKAGIST=${WORKSPACE_COMPOSER_REPO_PACKAGIST}
|
||||
- INSTALL_WP_CLI=${WORKSPACE_INSTALL_WP_CLI}
|
||||
- INSTALL_NODE=${WORKSPACE_INSTALL_NODE}
|
||||
- INSTALL_GULP=${WORKSPACE_INSTALL_GULP}
|
||||
|
@ -19,6 +19,12 @@ services:
|
||||
service: php-fpm
|
||||
build:
|
||||
dockerfile: php74.Dockerfile
|
||||
php81:
|
||||
extends:
|
||||
file: docker-compose.base.yml
|
||||
service: php-fpm
|
||||
build:
|
||||
dockerfile: php81.Dockerfile
|
||||
workspace73:
|
||||
extends:
|
||||
file: docker-compose.base.yml
|
||||
@ -31,11 +37,19 @@ services:
|
||||
service: workspace
|
||||
build:
|
||||
dockerfile: workspace74.Dockerfile
|
||||
workspace81:
|
||||
extends:
|
||||
file: docker-compose.base.yml
|
||||
service: workspace
|
||||
build:
|
||||
dockerfile: workspace81.Dockerfile
|
||||
|
||||
secrets:
|
||||
user_ssh_key:
|
||||
file: ~/.ssh/id_rsa
|
||||
user_known_hosts:
|
||||
file: ~/.ssh/known_hosts
|
||||
composer_auth:
|
||||
composer1_auth:
|
||||
file: ~/.composer/auth.json
|
||||
composer2_auth:
|
||||
file: ~/.config/composer/auth.json
|
||||
|
@ -23,6 +23,8 @@ RUN if [ ${INSTALL_XDEBUG} = true ]; then \
|
||||
# Install the xdebug extension
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
|
||||
pecl install xdebug-2.5.5; \
|
||||
elif [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
|
||||
pecl install xdebug-3.1.6; \
|
||||
else \
|
||||
pecl install xdebug-2.9.8; \
|
||||
fi && \
|
||||
|
7
src/dockerfiles/php-fpm/php81.Dockerfile
Normal file
7
src/dockerfiles/php-fpm/php81.Dockerfile
Normal file
@ -0,0 +1,7 @@
|
||||
# syntax = edrevo/dockerfile-plus
|
||||
FROM php:8.1-fpm
|
||||
|
||||
INCLUDE+ ./php.base.Dockerfile
|
||||
|
||||
RUN docker-php-ext-configure gd --with-freetype --with-jpeg --with-webp \
|
||||
&& docker-php-ext-install -j$(nproc) gd
|
@ -1,5 +0,0 @@
|
||||
{
|
||||
"require": {
|
||||
|
||||
}
|
||||
}
|
16
src/dockerfiles/workspace/composer1.Dockerfile
Normal file
16
src/dockerfiles/workspace/composer1.Dockerfile
Normal file
@ -0,0 +1,16 @@
|
||||
###########################################################################
|
||||
# Composer:
|
||||
###########################################################################
|
||||
|
||||
USER laradock
|
||||
|
||||
# Create composer dir for store composer2_auth secret
|
||||
RUN mkdir -p /home/laradock/.composer
|
||||
|
||||
USER root
|
||||
|
||||
# Symlink to composer auth secret
|
||||
RUN ln -s /run/secrets/composer1_auth /home/laradock/.composer/auth.json
|
||||
|
||||
# Chooce composer version
|
||||
RUN composer self-update --1
|
16
src/dockerfiles/workspace/composer2.Dockerfile
Normal file
16
src/dockerfiles/workspace/composer2.Dockerfile
Normal file
@ -0,0 +1,16 @@
|
||||
###########################################################################
|
||||
# Composer:
|
||||
###########################################################################
|
||||
|
||||
USER laradock
|
||||
|
||||
# Create composer dir for store composer2_auth secret
|
||||
RUN mkdir -p /home/laradock/.config/composer
|
||||
|
||||
USER root
|
||||
|
||||
# Symlink to composer auth secret
|
||||
RUN ln -s /run/secrets/composer2_auth /home/laradock/.config/composer/auth.json
|
||||
|
||||
# Chooce composer version
|
||||
RUN composer self-update --2
|
@ -176,7 +176,13 @@ COPY ./xdebug.ini /etc/php/${PHP_VERSION}/cli/conf.d/xdebug.ini
|
||||
ARG INSTALL_XDEBUG=false
|
||||
|
||||
RUN if [ ${INSTALL_XDEBUG} = true ]; then \
|
||||
pecl install xdebug-2.8.1 && \
|
||||
if [ $(php -r "echo PHP_MAJOR_VERSION;") = "5" ]; then \
|
||||
pecl install xdebug-2.5.5; \
|
||||
elif [ $(php -r "echo PHP_MAJOR_VERSION;") = "8" ]; then \
|
||||
pecl install xdebug-3.1.6; \
|
||||
else \
|
||||
pecl install xdebug-2.9.8; \
|
||||
fi && \
|
||||
echo ';zend_extension=xdebug.so' > /etc/php/${PHP_VERSION}/cli/conf.d/20-xdebug.ini && \
|
||||
echo "alias phpunit='php -dzend_extension=xdebug.so /var/www/vendor/bin/phpunit'" >> ~/.bashrc \
|
||||
;fi
|
||||
@ -192,51 +198,6 @@ RUN if [ ${INSTALL_BZ2} = true ]; then \
|
||||
;fi
|
||||
|
||||
###########################################################################
|
||||
# Composer:
|
||||
###########################################################################
|
||||
|
||||
USER root
|
||||
|
||||
# Add the composer.json
|
||||
COPY ./composer.json /home/laradock/.composer/composer.json
|
||||
|
||||
# Make sure that ~/.composer belongs to laradock
|
||||
RUN chown -R laradock:laradock /home/laradock/.composer
|
||||
|
||||
RUN ln -s /run/secrets/composer_auth /home/laradock/.composer/auth.json
|
||||
|
||||
# Export composer vendor path
|
||||
RUN echo "" >> ~/.bashrc && \
|
||||
echo 'export PATH="$HOME/.composer/vendor/bin:$PATH"' >> ~/.bashrc
|
||||
|
||||
# Update composer
|
||||
ARG COMPOSER_VERSION=2
|
||||
ENV COMPOSER_VERSION ${COMPOSER_VERSION}
|
||||
RUN composer self-update --${COMPOSER_VERSION}
|
||||
|
||||
USER laradock
|
||||
|
||||
# Check if global install need to be ran
|
||||
ARG COMPOSER_GLOBAL_INSTALL=false
|
||||
ENV COMPOSER_GLOBAL_INSTALL ${COMPOSER_GLOBAL_INSTALL}
|
||||
|
||||
RUN if [ ${COMPOSER_GLOBAL_INSTALL} = true ]; then \
|
||||
# run the install
|
||||
composer global install \
|
||||
;fi
|
||||
|
||||
ARG COMPOSER_REPO_PACKAGIST
|
||||
ENV COMPOSER_REPO_PACKAGIST ${COMPOSER_REPO_PACKAGIST}
|
||||
|
||||
RUN if [ ${COMPOSER_REPO_PACKAGIST} ]; then \
|
||||
composer config -g repo.packagist composer ${COMPOSER_REPO_PACKAGIST} \
|
||||
;fi
|
||||
|
||||
# Export composer vendor path
|
||||
RUN echo "" >> ~/.bashrc && \
|
||||
echo 'export PATH="~/.composer/vendor/bin:$PATH"' >> ~/.bashrc
|
||||
|
||||
###########################################################################
|
||||
# Non-root user : PHPUnit path
|
||||
###########################################################################
|
||||
|
||||
|
@ -5,3 +5,4 @@ ARG PHP_VERSION=7.3
|
||||
ENV PHP_VERSION ${PHP_VERSION}
|
||||
|
||||
INCLUDE+ ./workspace.base.Dockerfile
|
||||
INCLUDE+ ./composer1.Dockerfile
|
||||
|
@ -5,3 +5,4 @@ ARG PHP_VERSION=7.4
|
||||
ENV PHP_VERSION ${PHP_VERSION}
|
||||
|
||||
INCLUDE+ ./workspace.base.Dockerfile
|
||||
INCLUDE+ ./composer1.Dockerfile
|
||||
|
8
src/dockerfiles/workspace/workspace81.Dockerfile
Normal file
8
src/dockerfiles/workspace/workspace81.Dockerfile
Normal file
@ -0,0 +1,8 @@
|
||||
# syntax = edrevo/dockerfile-plus
|
||||
FROM laradock/workspace:latest-8.1
|
||||
|
||||
ARG PHP_VERSION=8.1
|
||||
ENV PHP_VERSION ${PHP_VERSION}
|
||||
|
||||
INCLUDE+ ./workspace.base.Dockerfile
|
||||
INCLUDE+ ./composer2.Dockerfile
|
Reference in New Issue
Block a user