nextcloud/Dockerfile

136 lines
6.4 KiB
Docker

FROM docker.io/alpine:3.16 AS builder
ENV NC_VERSION=24.0.2
ENV NC_SHA256_SUM=30d6cac1265dff221836bec46a937dcafd7e7d52ee59b939841750b514e5033d
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.4.0
ENV TFA_SHA256_SUM=711b6946cd6cdf597cc46f38624648b91dc2de983691014d96b6367f9353481a
RUN wget https://github.com/nextcloud-releases/twofactor_totp/releases/download/$TFA_VERSION/twofactor_totp-$TFA_VERSION.tar.gz
RUN echo "$TFA_SHA256_SUM twofactor_totp-$TFA_VERSION.tar.gz" | sha256sum -c - || exit 1
RUN mkdir /var/lib/nextcloud/apps/twofactor_totp
RUN tar xzf twofactor_totp-$TFA_VERSION.tar.gz -C /var/lib/nextcloud/apps/twofactor_totp --strip 1
ENV POLLS_VERSION=3.7.0
ENV POLLS_SHA256_SUM=1551996c93b7e9b354c3c45c51c309721dab00796782276c691a7b3f8296866d
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.1.1
ENV CONTACTS_SHA256_SUM=f9118ef301e982ba18a3575f7b39353582a3b54dc70e0d81b8ae95c59f1ef21a
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=v3.4.1
ENV CALENDAR_SHA256_SUM=6e4afc6f74d71ce296ca9bc3c643e4a2eb12e85dfc979186ef2eae17e096713a
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.14.4
ENV TASKS_SHA256_SUM=9175d4cf33838bfa918b636ab49ca24b51a62d3c74905030b47d69d2b09d9d13
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.3.1
ENV NOTES_SHA256_SUM=02b678c1fa0984b78718071cc6c5f5a4b468d7b1f4508d36eae35bd267c64515
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=18.1.0
ENV NEWS_SHA256_SUM=8e6ae871d2664696aed3357c52d2f2beb957fe4eceeb3959f06f73af2f226c4c
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 MASTODON_INTEGRATION_VERSION=1.0.2
ENV MASTODON_INTEGRATION_SHA256_SUM=819226a25f293da72416c25a3595ef7e93c37f16cdff5cc4b21399de52073c4f
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.2
ENV GITHUB_INTEGRATION_SHA256_SUM=1ae96fad28e86a35b4780eff3d1b915b12cc45be4140b9ae10cf914456d386e1
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.3
ENV GITLAB_INTEGRATION_SHA256_SUM=292a01666abf3b311cacaca27c04550d1ffd884430cab2616ea6e66afd133aa9
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.15.3
ENV SOCIAL_LOGIN_SHA256_SUM=9d2956f7e85a84a8c05d7f9dd9e194895398f5c3029d85861c89d9acbabc4e5f
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.16
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 \
php8-imap \
dcron
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" ]