nextcloud/Dockerfile

151 lines
7.0 KiB
Docker

FROM alpine:3.12 AS builder
ENV NC_VERSION=20.0.1
ENV NC_SHA256_SUM=96c6b50e1e676e46cec82d8f8ff1abd5eef9dfa00580081b6c640612c3ff2efc
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=v5.0.0
ENV TFA_SHA256_SUM=704f4dbf52a6ee9e197bbe457a1d5fb70010e5136170f9b42d5733543cc68de3
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.0.0
ENV U2F_SHA256_SUM=7c0e8985c3e0ad72a1eba1c55f4f1789dadc5b4079e4825b16eae2eaecf00afe
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=1.5.6
ENV POLLS_SHA256_SUM=f75f548cac3e3c04ad02344729feac047f2cd30e71bef3e62f9de730b2e8574e
RUN wget https://github.com/nextcloud/polls/releases/download/v$POLLS_VERSION/polls-$POLLS_VERSION.zip
RUN echo "$POLLS_SHA256_SUM polls-$POLLS_VERSION.zip" | sha256sum -c - || exit 1
RUN mkdir /var/lib/nextcloud/apps/polls
RUN unzip -d "/var/lib/nextcloud/apps/polls" "polls-$POLLS_VERSION.zip"
RUN mv /var/lib/nextcloud/apps/polls/*/* /var/lib/nextcloud/apps/polls/
ENV CONTACTS_VERSION=v3.4.1
ENV CONTACTS_SHA256_SUM=6701588e9b4f68cbb399bc89fd55d29cb4fb11055171ca89800bbc1a92ccef94
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.1.2
ENV CALENDAR_SHA256_SUM=aedde93dd0c59ddebb2b92bfce549c52410dffe7ce4e06cd4d1ea16c0dac42e7
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.5
ENV TASKS_SHA256_SUM=48de03ec7a25fdbd2300d79986074de768874561b9edb4eca2750170890a08c9
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.0
ENV NOTES_SHA256_SUM=43006cde66d48e1a408b451f698b8aa73c0b1acad72ff86dc2a8ec2e6a9351d6
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.0.5
ENV NEWS_SHA256_SUM=18d17741fa1181cfd21813bcbdbe0ce59a844b4b2cdf02ee2291a06727166541
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.5.0
ENV EMAIL_SHA256_SUM=3e9a214c3a4f742d731f64b3ab18676e5238ce32a417ebb56693efa6569eb1ba
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.6.13
ENV ELEMENT_SHA256_SUM=d1c8e054d4a55a711c4c2e14376ff0f3e6a87a39a7a086d7ed1a6de7025e7886
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=0.0.9
ENV MASTODON_INTEGRATION_SHA256_SUM=81695be7d7f2a34f89fee1b020fb5f8dc2aa4c08484b7cc971e3697762d75b01
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=0.0.8
ENV GITHUB_INTEGRATION_SHA256_SUM=6a16931fb490f4189ebe36b2f5730b23ee41d5da88a8c785d645dd6ad9f1e2c1
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=0.0.7
ENV GITLAB_INTEGRATION_SHA256_SUM=21e33dba04bac82fd63509e654429cd9ee242bd060fe68bbc5a1b4979c855d1f
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/php7-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 \
php7-cli \
php7-pecl-apcu \
php7-opcache \
php7-pcntl \
php7-imagick \
php7-ctype \
php7-curl \
php7-dom \
php7-gd \
php7-iconv \
php7-xml \
php7-json \
php7-mbstring \
php7-openssl \
php7-posix \
php7-session \
php7-simplexml \
php7-xmlreader \
php7-xmlwriter \
php7-zip \
php7-zlib \
php7-pdo_pgsql \
php7-bz2 \
php7-fileinfo \
php7-intl \
php7-exif \
php7-bcmath \
php7-gmp \
php7-ldap
RUN chown -R nginx:nginx /var/lib/nextcloud
RUN mkdir /run/nginx
RUN rm /etc/nginx/conf.d/default.conf
ADD /rootfs /
VOLUME [ "/var/lib/nextcloud/data", "/var/lib/nextcloud/config" ]