FROM alpine:3.10 AS builder

ENV NC_VERSION=16.0.1
ENV NC_SHA256_SUM=a80ce586e9e930b2fba69707311e575346cd4dc4402e84678c730f9930d78aee
RUN wget https://download.nextcloud.com/server/releases/nextcloud-$NC_VERSION.tar.bz2
RUN echo "$NC_SHA256_SUM  nextcloud-$NC_VERSION.tar.bz2" | sha256sum -c - || exit 1
RUN mkdir -p /var/lib/nextcloud
RUN tar xjf nextcloud-$NC_VERSION.tar.bz2 -C /var/lib/nextcloud --strip 1

ENV TFA_VERSION=v2.1.2
ENV TFA_SHA256_SUM=06bf8c01909c15efbe42b949532ba48a68adc9a275e43ede91249453a1ef468b
RUN wget https://github.com/nextcloud/twofactor_totp/releases/download/$TFA_VERSION/twofactor_totp.tar.gz
RUN echo "$TFA_SHA256_SUM  twofactor_totp.tar.gz" | sha256sum -c - || exit 1
RUN mkdir /var/lib/nextcloud/apps/twofactor_totp
RUN tar xzf twofactor_totp.tar.gz -C /var/lib/nextcloud/apps/twofactor_totp --strip 1

ENV U2F_VERSION=v3.0.0
ENV U2F_SHA256_SUM=bb2be4b4f3367b0ba8c8e78cba727ee521df116d2f76a0a73cf956c710d2c08b
RUN wget https://github.com/nextcloud/twofactor_u2f/releases/download/$U2F_VERSION/twofactor_u2f.tar.gz
RUN echo "$U2F_SHA256_SUM  twofactor_u2f.tar.gz" | sha256sum -c - || exit 1
RUN mkdir /var/lib/nextcloud/apps/twofactor_u2f
RUN tar xzf twofactor_u2f.tar.gz -C /var/lib/nextcloud/apps/twofactor_u2f --strip 1

ENV POLLS_VERSION=v0.10.3
ENV POLLS_SHA256_SUM=43f5a142aebdf32211f05eef01c0a98fbfe18fc6b4b9e1b3f6d3079c55254e0d
RUN wget https://github.com/nextcloud/polls/releases/download/$POLLS_VERSION/polls.tar.gz
RUN echo "$POLLS_SHA256_SUM  polls.tar.gz" | sha256sum -c - || exit 1
RUN mkdir /var/lib/nextcloud/apps/polls
RUN tar xzf polls.tar.gz -C /var/lib/nextcloud/apps/polls --strip 1

ENV CONTACTS_VERSION=v3.1.3
ENV CONTACTS_SHA256_SUM=c66ff52d41262e209397a7b47843bce03aeed7f1d097590d89db70ffd678ad65
RUN wget https://github.com/nextcloud/contacts/releases/download/$CONTACTS_VERSION/contacts.tar.gz
RUN echo "$CONTACTS_SHA256_SUM  contacts.tar.gz" | sha256sum -c - || exit 1
RUN mkdir /var/lib/nextcloud/apps/contacts
RUN tar xzf contacts.tar.gz -C /var/lib/nextcloud/apps/contacts --strip 1

ENV CALENDAR_VERSION=v1.6.5
ENV CALENDAR_SHA256_SUM=62c3ea0459578ba9a54537c25c8101e8e0ca352506e6fa227e5b4aa76854cb13
RUN wget https://github.com/nextcloud/calendar/releases/download/$CALENDAR_VERSION/calendar.tar.gz
RUN echo "$CALENDAR_SHA256_SUM  calendar.tar.gz" | sha256sum -c - || exit 1
RUN mkdir /var/lib/nextcloud/apps/calendar
RUN tar xzf calendar.tar.gz -C /var/lib/nextcloud/apps/calendar --strip 1

ENV TASKS_VERSION=v0.10.1
ENV TASKS_SHA256_SUM=55f36471e5e7f8b3e7fece13de810a5aa511666915e1626e2d5ed065b2470865
RUN wget https://github.com/nextcloud/tasks/releases/download/$TASKS_VERSION/tasks.tar.gz
RUN echo "$TASKS_SHA256_SUM  tasks.tar.gz" | sha256sum -c - || exit 1
RUN mkdir /var/lib/nextcloud/apps/tasks
RUN tar xzf tasks.tar.gz -C /var/lib/nextcloud/apps/tasks --strip 1

ENV NOTES_VERSION=v3.0.0
ENV NOTES_SHA256_SUM=8dd54d7f812c8fbd5996484296e93b2b1deeeec35a89d5cdb697c322654da444
RUN wget https://github.com/nextcloud/notes/releases/download/$NOTES_VERSION/notes.tar.gz
RUN echo "$NOTES_SHA256_SUM  notes.tar.gz" | sha256sum -c - || exit 1
RUN mkdir /var/lib/nextcloud/apps/notes
RUN tar xzf notes.tar.gz -C /var/lib/nextcloud/apps/notes --strip 1

ENV NEWS_VERSION=13.1.6
ENV NEWS_SHA256_SUM=a2f5b5a347fed41572b74092c41c1c1765803e6ce5b8983fd093d3ad0a390383
RUN wget https://github.com/nextcloud/news/releases/download/$NEWS_VERSION/news.tar.gz
RUN echo "$NEWS_SHA256_SUM  news.tar.gz" | sha256sum -c - || exit 1
RUN mkdir /var/lib/nextcloud/apps/news
RUN tar xzf news.tar.gz -C /var/lib/nextcloud/apps/news --strip 1

FROM thallian/php7-fpm:latest

COPY --from=builder /var/lib/nextcloud /var/lib/nextcloud

ENV FPMUSER=nginx
ENV FPMGROUP=nginx
ENV PHP_MEMORY_LIMIT=512M

RUN apk add --no-cache  \
    nginx \
    ffmpeg \
    php7-cli \
    php7-pecl-apcu \
    php7-opcache \
    php7-pcntl \
    php7-imagick \
    php7-ctype \
    php7-curl \
    php7-dom \
    php7-gd \
    php7-iconv \
    php7-xml \
    php7-json \
    php7-mbstring \
    php7-openssl \
    php7-posix \
    php7-session \
    php7-simplexml \
    php7-xmlreader \
    php7-xmlwriter \
    php7-zip \
    php7-zlib \
    php7-pdo_pgsql \
    php7-bz2 \
    php7-fileinfo \
    php7-intl \
    php7-exif \
    php7-ldap

RUN chown -R nginx:nginx /var/lib/nextcloud

RUN mkdir /run/nginx
RUN rm /etc/nginx/conf.d/default.conf

ADD /rootfs /

VOLUME [ "/var/lib/nextcloud/data", "/var/lib/nextcloud/config" ]