FROM alpine AS builder

WORKDIR /usr/src

RUN apk update && apk add git

ADD https://releases.wikimedia.org/mediawiki/1.42/mediawiki-1.42.4.tar.gz .
RUN tar -xzf mediawiki-1.42.4.tar.gz && mv mediawiki-1.42.4 mediawiki

WORKDIR /usr/src/mediawiki

RUN git clone -b REL1_42 https://gerrit.wikimedia.org/r/mediawiki/extensions/MobileFrontend extensions/MobileFrontend; \
    rm -rf extensions/MobileFrontend/.git

RUN git clone -b REL1_42 https://gerrit.wikimedia.org/r/mediawiki/extensions/PluggableAuth extensions/PluggableAuth; \
    rm -rf extensions/PluggableAuth/.git

RUN git clone -b REL1_42 https://gerrit.wikimedia.org/r/mediawiki/extensions/OpenIDConnect extensions/OpenIDConnect; \
    rm -rf extensions/OpenIDConnect/.git

RUN git clone -b REL1_42 https://gerrit.wikimedia.org/r/mediawiki/extensions/Widgets extensions/Widgets; \
    rm -rf extensions/Widgets/.git

FROM docker.io/library/unit:php8.2

WORKDIR /var/www/html

RUN apt-get update && apt-get install -y \
    libicu-dev librsvg2-bin imagemagick git unzip \
    && rm -rf /var/lib/apt/lists/*

RUN docker-php-ext-configure intl \
    && docker-php-ext-install -j$(nproc) intl \
    && docker-php-ext-install -j$(nproc) mysqli \
    && docker-php-ext-install -j$(nproc) calendar

COPY --from=builder --chown=unit:unit /usr/src/mediawiki w/
COPY --from=docker.io/composer/composer /usr/bin/composer /usr/bin/composer
COPY composer.local.json w/composer.local.json

RUN cd /var/www/html/w && composer update --no-dev

COPY config.json /docker-entrypoint.d/config.json