FROM docker.io/alpine:3.17 AS builder

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

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.6.0
ENV SHA256_SUM=2409ccdfe2e465f086cb9fc18c88dfe0aaf6ccc23924564975061209921694ba
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 docker.io/thallian/php8-fpm:3.17

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

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

ADD /rootfs /

EXPOSE 8080

ENV FPMUSER nginx
ENV FPMGROUP nginx