This repository has been archived on 2024-12-31. You can view files and clone it, but cannot push or open issues or pull requests.
composer/Dockerfile.alpine

64 lines
2.1 KiB
Docker

ARG PHP_VERSION=8.3
ARG REGISTRY_URL=git.winteraccess.id/docker
FROM ${REGISTRY_URL}/php:${PHP_VERSION}-alpine
LABEL maintainer="<Muhamad Aditya Prima> aprimediet@gmail.com"
ARG COMPOSER_VERSION=2.7.2
WORKDIR /tmp
USER root
# ADD apk repository
RUN printf "@testing https://dl-cdn.alpinelinux.org/alpine/edge/testing\n" >> /etc/apk/repositories
# Update & Upgrade first
RUN --mount=type=cache,target=/var/cache/apk \
apk update && apk upgrade && apk add git
# INSTALL PHP OpenSSL
RUN --mount=type=cache,target=/var/cache/apk \
apk add --update php${PHP_VERSION}-openssl; exit 0
# Install php83-openssl from testing if main or community doesn't exists
RUN --mount=type=cache,target=/var/cache/apk \
apk add --update php${PHP_VERSION}-openssl@testing; exit 0
# INSTALL PHP PHAR
RUN --mount=type=cache,target=/var/cache/apk \
apk add --update php${PHP_VERSION}-phar; exit 0
# Install php83-phar from testing if main or community doesn't exists
RUN --mount=type=cache,target=/var/cache/apk \
apk add --update php${PHP_VERSION}-phar@testing; exit 0
# Install php83-json
RUN --mount=type=cache,target=/var/cache/apk \
apk add --update php${PHP_VERSION}-json; exit 0
# Install php83-json from testing if main or community doesn't exists
RUN --mount=type=cache,target=/var/cache/apk \
apk add --update php${PHP_VERSION}-json@testing; exit 0
# Install php83-iconv
RUN --mount=type=cache,target=/var/cache/apk \
apk add --update php${PHP_VERSION}-iconv; exit 0
# Install php83-iconv from testing if main or community doesn't exists
RUN --mount=type=cache,target=/var/cache/apk \
apk add --update php${PHP_VERSION}-iconv@testing; exit 0
# 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
# SET COMPOSER HOME
ENV COMPOSER_HOME /usr/local/share/composer
ENV COMPOSER_CACHE_DIR ${COMPOSER_HOME}/cache
# CREATE CACHES DIR FOR COMPOSER
RUN mkdir -p ${COMPOSER_CACHE_DIR}/{files,repo,vcs}
# CLEAN APK CACHES
RUN rm -vrf /var/cache/apk/* && rm -rf /root/.composer; exit 0