nextcloud/Dockerfile

146 lines
6.9 KiB
Docker

FROM alpine:3.14 AS builder
ENV NC_VERSION=22.1.0
ENV NC_SHA256_SUM=4820808f799146853604e1fa27d7f292449018a44dc73bf928a97b02028318ba
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=v6.1.0
ENV TFA_SHA256_SUM=e640d59af3f595ad987cf7bd0e1ce4d043541e5817482a613eacd6b123d0b8ad
RUN wget https://github.com/nextcloud/twofactor_totp/archive/refs/tags/$TFA_VERSION.tar.gz
RUN echo "$TFA_SHA256_SUM $TFA_VERSION.tar.gz" | sha256sum -c - || exit 1
RUN mkdir /var/lib/nextcloud/apps/twofactor_totp
RUN tar xzf $TFA_VERSION.tar.gz -C /var/lib/nextcloud/apps/twofactor_totp --strip 1
ENV U2F_VERSION=v6.2.0
ENV U2F_SHA256_SUM=a52b5513696134b7d4a8d21d24c23c4c49d90dd0a5d8ea68ddca52bc927c22f1
RUN wget https://github.com/nextcloud/twofactor_u2f/archive/refs/tags/$U2F_VERSION.tar.gz
RUN echo "$U2F_SHA256_SUM $U2F_VERSION.tar.gz" | sha256sum -c - || exit 1
RUN mkdir /var/lib/nextcloud/apps/twofactor_u2f
RUN tar xzf $U2F_VERSION.tar.gz -C /var/lib/nextcloud/apps/twofactor_u2f --strip 1
ENV POLLS_VERSION=3.1.0
ENV POLLS_SHA256_SUM=16273dc0cd018429f27371ae024c1b0fbd12c16d785dff18dcc2b131a490cbb7
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=v4.0.1
ENV CONTACTS_SHA256_SUM=bab5bdec9b0a7cd34c13ca52937326cba993bd9d81126156689ec74a4703756d
RUN wget https://github.com/nextcloud/contacts/archive/refs/tags/$CONTACTS_VERSION.tar.gz
RUN echo "$CONTACTS_SHA256_SUM $CONTACTS_VERSION.tar.gz" | sha256sum -c - || exit 1
RUN mkdir /var/lib/nextcloud/apps/contacts
RUN tar xzf $CONTACTS_VERSION.tar.gz -C /var/lib/nextcloud/apps/contacts --strip 1
ENV CALENDAR_VERSION=v2.3.2
ENV CALENDAR_SHA256_SUM=1dcadd5a431907a3135aa31837a0c60b01455f84db86b74731454aeda86ee85e
RUN wget https://github.com/nextcloud/calendar/archive/refs/tags/$CALENDAR_VERSION.tar.gz
RUN echo "$CALENDAR_SHA256_SUM $CALENDAR_VERSION.tar.gz" | sha256sum -c - || exit 1
RUN mkdir /var/lib/nextcloud/apps/calendar
RUN tar xzf $CALENDAR_VERSION.tar.gz -C /var/lib/nextcloud/apps/calendar --strip 1
ENV TASKS_VERSION=v0.14.1
ENV TASKS_SHA256_SUM=0326d6b80d7bddf7f015bff5c75725897b26575300b2c2b15c8710e8f4d20d41
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.1.1
ENV NOTES_SHA256_SUM=10800e6d42f8d4976cd80247e7fa6a8f61bca8e2fe8d3c14472d4987b38d003d
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=16.0.1
ENV NEWS_SHA256_SUM=b2ce381307e91759ff2b95a636afec62851246cd01a705ef22330884d31ef6d2
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 EMAIL_VERSION=v1.10.3
ENV EMAIL_SHA256_SUM=1d03d78936f04286d03432b26b916fd9a9f94b76169e2402aac42ff9f3c9da96
RUN wget https://github.com/nextcloud/mail/archive/refs/tags/$EMAIL_VERSION.tar.gz
RUN echo "$EMAIL_SHA256_SUM $EMAIL_VERSION.tar.gz" | sha256sum -c - || exit 1
RUN mkdir /var/lib/nextcloud/apps/mail
RUN tar xzf $EMAIL_VERSION.tar.gz -C /var/lib/nextcloud/apps/mail --strip 1
ENV MASTODON_INTEGRATION_VERSION=1.0.1
ENV MASTODON_INTEGRATION_SHA256_SUM=fabfd6078be4a0b0cc7066624705cb1781724839a1a0c1a67c6410a3fda0810d
RUN wget https://github.com/nextcloud/integration_mastodon/releases/download/v$MASTODON_INTEGRATION_VERSION/integration_mastodon-$MASTODON_INTEGRATION_VERSION.tar.gz
RUN echo "$MASTODON_INTEGRATION_SHA256_SUM integration_mastodon-$MASTODON_INTEGRATION_VERSION.tar.gz" | sha256sum -c - || exit 1
RUN mkdir /var/lib/nextcloud/apps/integration_mastodon
RUN tar xzf integration_mastodon-$MASTODON_INTEGRATION_VERSION.tar.gz -C /var/lib/nextcloud/apps/integration_mastodon --strip 1
ENV GITHUB_INTEGRATION_VERSION=1.0.1
ENV GITHUB_INTEGRATION_SHA256_SUM=4dc38c2d83455cfcd1695c3daeaae5050edfeb8b16c1460140952d652fb156bd
RUN wget https://github.com/nextcloud/integration_github/releases/download/v$GITHUB_INTEGRATION_VERSION/integration_github-$GITHUB_INTEGRATION_VERSION.tar.gz
RUN echo "$GITHUB_INTEGRATION_SHA256_SUM integration_github-$GITHUB_INTEGRATION_VERSION.tar.gz" | sha256sum -c - || exit 1
RUN mkdir /var/lib/nextcloud/apps/integration_github
RUN tar xzf integration_github-$GITHUB_INTEGRATION_VERSION.tar.gz -C /var/lib/nextcloud/apps/integration_github --strip 1
ENV GITLAB_INTEGRATION_VERSION=1.0.1
ENV GITLAB_INTEGRATION_SHA256_SUM=569c6b902f72bd3c637397b6419e498a305f3c048533d90de4701777d6c4e7eb
RUN wget https://github.com/nextcloud/integration_gitlab/releases/download/v$GITLAB_INTEGRATION_VERSION/integration_gitlab-$GITLAB_INTEGRATION_VERSION.tar.gz
RUN echo "$GITLAB_INTEGRATION_SHA256_SUM integration_gitlab-$GITLAB_INTEGRATION_VERSION.tar.gz" | sha256sum -c - || exit 1
RUN mkdir /var/lib/nextcloud/apps/integration_gitlab
RUN tar xzf integration_gitlab-$GITLAB_INTEGRATION_VERSION.tar.gz -C /var/lib/nextcloud/apps/integration_gitlab --strip 1
ENV SOCIAL_LOGIN_VERSION=v4.8.3
ENV SOCIAL_LOGIN_SHA256_SUM=1aee365291749b1126b1c2661877e79e5fe957527090eec1393d97d16f4774f1
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 thallian/php8-fpm:latest
ENV FPMUSER=nginx
ENV FPMGROUP=nginx
ENV PHP_MEMORY_LIMIT=512M
RUN apk add --no-cache \
nginx \
ffmpeg \
php8-cli \
php8-pecl-apcu \
php8-opcache \
php8-pcntl \
php8-ctype \
php8-curl \
php8-dom \
php8-gd \
php8-iconv \
php8-xml \
php8-json \
php8-mbstring \
php8-openssl \
php8-posix \
php8-session \
php8-simplexml \
php8-xmlreader \
php8-xmlwriter \
php8-zip \
php8-zlib \
php8-pdo_pgsql \
php8-bz2 \
php8-fileinfo \
php8-intl \
php8-exif \
php8-bcmath \
php8-gmp
COPY --from=builder --chown=nginx:nginx /var/lib/nextcloud /var/lib/nextcloud
RUN rm /etc/nginx/http.d/default.conf
ADD /rootfs /
VOLUME [ "/var/lib/nextcloud/data", "/var/lib/nextcloud/config" ]