48 lines
1.4 KiB
Docker
48 lines
1.4 KiB
Docker
ARG REGISTRY_URL=docker.io/aprimediet
|
|
ARG PHP_VERSION=8.4
|
|
|
|
FROM ${REGISTRY_URL}/php:${PHP_VERSION}-ubi9
|
|
LABEL maintainer="<Muhamad Aditya Prima> aprimediet@gmail.com"
|
|
|
|
ARG COMPOSER_VERSION=2.8.4
|
|
|
|
USER root
|
|
|
|
WORKDIR /tmp
|
|
|
|
# Set composer home
|
|
ENV COMPOSER_HOME=/usr/local/share/composer
|
|
ENV COMPOSER_CACHE_DIR=${COMPOSER_HOME}/cache
|
|
|
|
# Setup composer user and required directories
|
|
RUN groupadd -g 10001 composer && \
|
|
useradd -u 10001 -g 10001 -m -d /build -s /sbin/nologin composer && \
|
|
mkdir -p ${COMPOSER_CACHE_DIR}/files && \
|
|
mkdir -p ${COMPOSER_CACHE_DIR}/repo && \
|
|
mkdir -p ${COMPOSER_CACHE_DIR}/vcs && \
|
|
chown -R composer:composer ${COMPOSER_CACHE_DIR}
|
|
|
|
# Add all php extensions
|
|
RUN dnf -y update && dnf -y install \
|
|
php-bcmath php-brotli php-dba php-dbg php-devel \
|
|
php-embedded php-enchant php-ffi php-geos php-gmp \
|
|
php-intl php-json php-ldap php-lz4 \
|
|
php-maxminddb php-mysqlnd php-odbc \
|
|
php-opcache php-pdo php-pdo-dblib php-pdo-firebird \
|
|
php-pear php-pgsql php-phpiredis php-process \
|
|
php-snmp php-soap php-sodium \
|
|
php-tidy php-xz php-zstd
|
|
|
|
# Download and install composer
|
|
ADD https://getcomposer.org/installer ./composer-setup.php
|
|
RUN php composer-setup.php --version=${COMPOSER_VERSION} && \
|
|
mv composer.phar /usr/local/bin/composer && \
|
|
rm -f ./composer-setup.php && \
|
|
dnf -y autoremove && \
|
|
dnf -y clean all
|
|
|
|
USER composer
|
|
|
|
WORKDIR /build
|
|
|
|
CMD ["/usr/local/bin/composer"] |