nextcloud/Dockerfile

143 lines
6.8 KiB
Docker

FROM alpine:3.15 AS builder
ENV NC_VERSION=23.0.3
ENV NC_SHA256_SUM=39401d400fab02a84a175ea6e995b8ed4110fbaea48c876230b4f09755a62986
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.2.0
ENV TFA_SHA256_SUM=afa5ae5c0bc65c8127e92562071c8ca7df0905358be9f47c3090dc75b6b5800f
RUN wget https://github.com/nextcloud-releases/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=v6.3.0
ENV U2F_SHA256_SUM=89c5d3181eb20027fa6b6afc937ace6b52eaff624c5eaaee6b4d59676a3d2d7c
RUN wget https://github.com/nextcloud-releases/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=3.5.4
ENV POLLS_SHA256_SUM=58c938bf1d3535390955a3f982bf9671aafc0806e9b1b2bd0b0b271ffee3d550
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.0
ENV CONTACTS_SHA256_SUM=8c69a60e9b7b8e8c81a4be06d1e2f95180e7556e9074b7add07ee48618ea6d20
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.2.2
ENV CALENDAR_SHA256_SUM=8d524445614f2a3d7280575ef924b249d69129233aed1c761bd4902410dbb391
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.0.1-beta2
ENV NEWS_SHA256_SUM=8977a54c08e23a37f7a7e6617b3d6a64235feaa59047eae7514ff731048414a2
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.14.0
ENV SOCIAL_LOGIN_SHA256_SUM=b60a168444f8988fa6ea9eeaf75ddf3ac3cd7bbf792df9b703a28f39935c6337
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 \
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" ]