nextcloud/Containerfile

111 lines
4.2 KiB
Docker

FROM docker.io/alpine:3.19 AS builder
ENV NC_VERSION=28.0.0
ENV NC_SHA256_SUM=4e8b0b74b40221e85f92ab869d0873c69a52d7e43889d9259c6259428a6a36f2
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=6.0.1
ENV POLLS_SHA256_SUM=37aca3da42b768b50baa655772f371b0606f60ffa315b6a522a57bedcefad46d
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=v5.5.0
ENV CONTACTS_SHA256_SUM=c6d9d165dea9e4cab579ccebba1de482bf6cd7ce0cb73d0ef6fcda6818760d26
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=v4.6.0
ENV CALENDAR_SHA256_SUM=615161d78a29b2502eec6e117a70f49b38123cb4d9de150166914d41134ce07f
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.15.0
ENV TASKS_SHA256_SUM=9e2cc95050722bbf0567a28f278cdf394e59f42940c61c2043b77e5f94c69ccf
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.9.1
ENV NOTES_SHA256_SUM=6af4cea1ab1f0cd34e270af3b32675da4dfaa9c8cbe225834746527927b42d94
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=25.0.0-alpha2
ENV NEWS_SHA256_SUM=f3002b71bdeeaa5c64099adf60f01abfb3178737da242aa990d2a79516705bf7
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=v5.6.1
ENV SOCIAL_LOGIN_SHA256_SUM=3c1b4d62a7b88c06cc8ca90d38bb6b550d40d61a30b8b1463e4ba27a5a125b6a
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.19-8.3
ENV FPMUSER=nginx
ENV FPMGROUP=nginx
ENV PHP_MEMORY_LIMIT=512M
RUN apk add --no-cache \
nginx \
ffmpeg \
php83-cli \
php83-pecl-apcu \
php83-opcache \
php83-pcntl \
php83-ctype \
php83-curl \
php83-dom \
php83-gd \
php83-iconv \
php83-xml \
php83-json \
php83-mbstring \
php83-openssl \
php83-posix \
php83-session \
php83-simplexml \
php83-xmlreader \
php83-xmlwriter \
php83-zip \
php83-zlib \
php83-pdo_pgsql \
php83-bz2 \
php83-fileinfo \
php83-intl \
php83-exif \
php83-bcmath \
php83-gmp \
php83-imap \
php83-pdo \
dcron
RUN ln -s /usr/bin/php83 /usr/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" ]