64 lines
2.1 KiB
Docker
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 |