nextcloud/Dockerfile

147 lines
6.9 KiB
Docker

FROM alpine:3.14 AS builder
ENV NC_VERSION=21.0.2
ENV NC_SHA256_SUM=5e5b38109a3485db5fd2d248f24478eabe6c0790ec10b030acbbee207d5511fe
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.0.0
ENV TFA_SHA256_SUM=29f64c5d825ac6967d514ce0ecadc19f9b4f8f9669019db1ffa96348acbfd820
RUN wget https://github.com/nextcloud/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.1.0
ENV U2F_SHA256_SUM=40bd5ccd3560358b0fc8d5ad0e541bc7f7b9229abbc4c55457dc3e9bf2c7c062
RUN wget https://github.com/nextcloud/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=2.0.2
ENV POLLS_SHA256_SUM=4b4e734e106d8b413deeb65023b049ee747c0323860493cc7a47f84634cf0d95
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=v3.5.1
ENV CONTACTS_SHA256_SUM=d83f6af637e436b4e16fcba8c4d4e3b878082a77f4b552738abfe1aad0b0aae7
RUN wget https://github.com/nextcloud/contacts/releases/download/$CONTACTS_VERSION/contacts.tar.gz
RUN echo "$CONTACTS_SHA256_SUM contacts.tar.gz" | sha256sum -c - || exit 1
RUN mkdir /var/lib/nextcloud/apps/contacts
RUN tar xzf contacts.tar.gz -C /var/lib/nextcloud/apps/contacts --strip 1
ENV CALENDAR_VERSION=v2.2.2
ENV CALENDAR_SHA256_SUM=5080aad2e23179de454885bc27f3911d6c45c48b81d0f3163e9c84c97f00e008
RUN wget https://github.com/nextcloud/calendar/releases/download/$CALENDAR_VERSION/calendar.tar.gz
RUN echo "$CALENDAR_SHA256_SUM calendar.tar.gz" | sha256sum -c - || exit 1
RUN mkdir /var/lib/nextcloud/apps/calendar
RUN tar xzf calendar.tar.gz -C /var/lib/nextcloud/apps/calendar --strip 1
ENV TASKS_VERSION=v0.13.6
ENV TASKS_SHA256_SUM=98bbe7be9e0315af247572da6ef2c6f67ee1387065ca69a56988ee0a77367f11
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.0.4
ENV NOTES_SHA256_SUM=83c547a1024de1a0d31b9a1b2374124882c9e85ca0bc0c9d8ced0d08db4e0397
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=15.4.5
ENV NEWS_SHA256_SUM=01564de929fdba032b9de236e46f9b53eac580b205f1789101870758a4a372c6
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.9.5
ENV EMAIL_SHA256_SUM=949089ac8f1cfe4d710091baef43ebdc4941e42f2687971d8dbad801a7117b66
RUN wget https://github.com/nextcloud/mail/releases/download/$EMAIL_VERSION/mail.tar.gz
RUN echo "$EMAIL_SHA256_SUM mail.tar.gz" | sha256sum -c - || exit 1
RUN mkdir /var/lib/nextcloud/apps/mail
RUN tar xzf mail.tar.gz -C /var/lib/nextcloud/apps/mail --strip 1
ENV ELEMENT_VERSION=v0.7.11
ENV ELEMENT_SHA256_SUM=1037a7ceddff2337b96af49e219267bce772082cebe38a526c56bb9ab2d96ad7
RUN wget https://github.com/gary-kim/riotchat/releases/download/$ELEMENT_VERSION/riotchat.tar.gz
RUN echo "$ELEMENT_SHA256_SUM riotchat.tar.gz" | sha256sum -c - || exit 1
RUN mkdir /var/lib/nextcloud/apps/riotchat
RUN tar xzf riotchat.tar.gz -C /var/lib/nextcloud/apps/riotchat --strip 1
ENV MASTODON_INTEGRATION_VERSION=1.0.0
ENV MASTODON_INTEGRATION_SHA256_SUM=7555d2c5343f3095ddaff9639215e34c6ba7aad0b2ca57926dcab052417bc3e4
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.0
ENV GITHUB_INTEGRATION_SHA256_SUM=1b35808e885d4fac350d44bf842d35245ee731d0e80f54ec5f04a4bf0592e382
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.0
ENV GITLAB_INTEGRATION_SHA256_SUM=a940870f78ee68c1b3ef0767aaf882ee5f863023b459467312058fa61fe11075
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
FROM thallian/php8-fpm:latest
COPY --from=builder /var/lib/nextcloud /var/lib/nextcloud
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 \
#php7-imagick \
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-ldap
RUN chown -R nginx:nginx /var/lib/nextcloud
ADD /rootfs /
VOLUME [ "/var/lib/nextcloud/data", "/var/lib/nextcloud/config" ]