FROM alpine:3.11 AS builder

ENV NC_VERSION=17.0.0
ENV NC_SHA256_SUM=6081421b33ecdb3130b2bfb2293a3f4045aeb0b471ee570e675de3d931a142a6
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=v4.1.2
ENV TFA_SHA256_SUM=b66831ec4fc8cbb10e594b25ec12e90b99e0d41d3d1c1c29544bd9a81e73c470
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=v4.0.0
ENV U2F_SHA256_SUM=07d80b3a4aad7f3191af0714482b02fea218165e44ddc3952d88a0c7a67305b6
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.4
ENV POLLS_SHA256_SUM=99f095415a2edd93c047cb602dbb2551fd7c17eb652a82da9a9bd8a07c880282
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.6
ENV CONTACTS_SHA256_SUM=c82118781b52a6d4455745413ee64ccf642a82667bed899e174e3bba3f6f67cd
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.7.1
ENV CALENDAR_SHA256_SUM=dfb995d30938b6f119216b0d42d90cf320107af859ad9d8aea6fba03fbbeb1b4
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=0.11.3
ENV TASKS_SHA256_SUM=20796e91888c78bc4f6dc73f28dcf34a3e04ed2854e9ce5f287c48bf1417df23
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=3.0.3
ENV NOTES_SHA256_SUM=c36c65eccf0e16598d037118be68010738684aa52c6fdbfecc8224c9cfba05e4
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=14.0.0
ENV NEWS_SHA256_SUM=eb284f35a4649b0014a65a530fcff095877e95f7d439df33025f97f9c695df46
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" ]