FROM alpine:3.14 AS builder

RUN apk add --no-cache \
    php8 \
    php8-phar \
    php8-mbstring \
    php8-openssl \
    php8-ctype \
    php8-gd \
    php8-dom \
    php8-xml \
    php8-ldap \
    php8-xmlreader \
    php8-xmlwriter

RUN ln -s /usr/bin/php8 /usr/bin/php

ENV COMPOSER_VERSION=2.1.6
ENV COMPOSER_SHA256_SUM=72524ccebcb071968eb83284507225fdba59f223719b2b3f333d76c8a9ac6b72
RUN wget https://getcomposer.org/download/$COMPOSER_VERSION/composer.phar
RUN echo "$COMPOSER_SHA256_SUM  composer.phar" | sha256sum -c - || exit 1
RUN mv composer.phar /usr/bin/composer
RUN chmod +x /usr/bin/composer

ENV VERSION=1.5-rc
ENV SHA256_SUM=5287fbe5cf41ff2ae71648b863b0e4726d7f932c84f3b4fb30de096dc208f40c
RUN wget https://github.com/roundcube/roundcubemail/releases/download/$VERSION/roundcubemail-$VERSION-complete.tar.gz
RUN echo "$SHA256_SUM  roundcubemail-$VERSION-complete.tar.gz" | sha256sum -c - || exit 1
RUN mkdir -p /var/lib/roundcube
RUN tar xzf roundcubemail-$VERSION-complete.tar.gz -C /var/lib/roundcube --strip 1

FROM thallian/php8-fpm:latest


RUN apk add --no-cache \
    openssl \
    tar \
    nginx \
    postgresql-client \
    aspell \
    ca-certificates \
    php8 \
    php8-imap \
    php8-dom \
    php8-json \
    php8-xml \
    php8-session \
    php8-pdo \
    php8-pdo_pgsql \
    php8-sockets \
    php8-exif \
    php8-iconv \
    php8-openssl \
    php8-mbstring \
    php8-sockets \
    php8-pecl-mcrypt \
    php8-zip \
    php8-pspell \
    php8-pecl-apcu \
    php8-gd \
    php8-ctype \
    php8-xmlreader \
    php8-xmlwriter \
    php8-tokenizer \
    php8-curl \
    php8-simplexml \
    php8-xml \
    php8-dom \
    php8-intl

COPY --from=builder --chown=nginx:nginx /var/lib/roundcube /var/lib/roundcube

ADD /rootfs /

EXPOSE 8080

ENV FPMUSER nginx
ENV FPMGROUP nginx