FROM docker.io/alpine:3.21 AS builder ENV NC_VERSION=31.0.4 ENV NC_SHA256_SUM=a47541566d5c6ac6f63e4f617e27da295156da47daa2cd22eee3400fd2ad1251 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 POLLS_VERSION=8.0.0-beta4 ENV POLLS_SHA256_SUM=e65c3dbf59589a6c8db4627d2d8fa4c99c1717766cef068d1d9cfefe4cac8d3f RUN wget https://github.com/nextcloud/polls/releases/download/v$POLLS_VERSION/polls-$POLLS_VERSION.tar.gz RUN echo "$POLLS_SHA256_SUM polls-$POLLS_VERSION.tar.gz" | sha256sum -c - || exit 1 RUN mkdir /var/lib/nextcloud/apps/polls RUN tar xzf polls-$POLLS_VERSION.tar.gz -C /var/lib/nextcloud/apps/polls --strip 1 ENV CONTACTS_VERSION=v7.0.6 ENV CONTACTS_SHA256_SUM=dc6d5d8bf3e738020c2f6bf02a0966b8c029be7f3e9d762376a9f24924a82c32 RUN wget https://github.com/nextcloud-releases/contacts/releases/download/$CONTACTS_VERSION/contacts-$CONTACTS_VERSION.tar.gz RUN echo "$CONTACTS_SHA256_SUM contacts-$CONTACTS_VERSION.tar.gz" | sha256sum -c - || exit 1 RUN mkdir /var/lib/nextcloud/apps/contacts RUN tar xzf contacts-$CONTACTS_VERSION.tar.gz -C /var/lib/nextcloud/apps/contacts --strip 1 ENV CALENDAR_VERSION=v5.2.2 ENV CALENDAR_SHA256_SUM=ee4390264635c9734817b240068dd86015e527d2dc1076c7244a5db6dd0e2add RUN wget https://github.com/nextcloud-releases/calendar/releases/download/$CALENDAR_VERSION/calendar-$CALENDAR_VERSION.tar.gz RUN echo "$CALENDAR_SHA256_SUM calendar-$CALENDAR_VERSION.tar.gz" | sha256sum -c - || exit 1 RUN mkdir /var/lib/nextcloud/apps/calendar RUN tar xzf calendar-$CALENDAR_VERSION.tar.gz -C /var/lib/nextcloud/apps/calendar --strip 1 ENV TASKS_VERSION=v0.16.1 ENV TASKS_SHA256_SUM=5296b7765f9bf7b515dca5cb95cc5e4ba3b31414c85be7b753f4fd4094fa3e6c 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=v4.12.0 ENV NOTES_SHA256_SUM=51da8ae83882ebb60f732f38c05119693f0040b0e184d9dd2e211eb1078163b3 RUN wget https://github.com/nextcloud-releases/notes/releases/download/$NOTES_VERSION/notes-$NOTES_VERSION.tar.gz RUN echo "$NOTES_SHA256_SUM notes-$NOTES_VERSION.tar.gz" | sha256sum -c - || exit 1 RUN mkdir /var/lib/nextcloud/apps/notes RUN tar xzf notes-$NOTES_VERSION.tar.gz -C /var/lib/nextcloud/apps/notes --strip 1 ENV NEWS_VERSION=25.3.1 ENV NEWS_SHA256_SUM=b6b5e70d2485cabe47297692d52dd7ae5480522893fbc07e90fd2583e7b12dcb 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 ENV SOCIAL_LOGIN_VERSION=v6.0.1 ENV SOCIAL_LOGIN_SHA256_SUM=0cd7f8f18995278f6ffa5ca74c22014d984f8bf4b59a3c881793967fe51529e6 RUN wget https://github.com/zorn-v/nextcloud-social-login/releases/download/$SOCIAL_LOGIN_VERSION/release.tar.gz RUN echo "$SOCIAL_LOGIN_SHA256_SUM release.tar.gz" | sha256sum -c - || exit 1 RUN mkdir /var/lib/nextcloud/apps/sociallogin RUN tar xzf release.tar.gz -C /var/lib/nextcloud/apps/sociallogin --strip 1 FROM docker.io/thallian/php8-fpm:3.21-8.4 ENV FPMUSER=nginx ENV FPMGROUP=nginx ENV PHP_MEMORY_LIMIT=512M RUN apk add --no-cache \ nginx \ ffmpeg \ php84-cli \ php84-pecl-apcu \ php84-opcache \ php84-pcntl \ php84-ctype \ php84-curl \ php84-dom \ php84-gd \ php84-iconv \ php84-xml \ php84-json \ php84-mbstring \ php84-openssl \ php84-posix \ php84-session \ php84-simplexml \ php84-xmlreader \ php84-xmlwriter \ php84-zip \ php84-zlib \ php84-pdo_pgsql \ php84-bz2 \ php84-fileinfo \ php84-intl \ php84-exif \ php84-bcmath \ php84-gmp \ php84-imap \ php84-pdo \ dcron RUN ln -s /usr/bin/php84 /bin/php COPY --from=builder --chown=nginx:nginx /var/lib/nextcloud /var/lib/nextcloud RUN rm /etc/nginx/http.d/default.conf ENV S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0 ADD /rootfs / VOLUME [ "/var/lib/nextcloud/data", "/var/lib/nextcloud/config" ]