nextcloud/Dockerfile

151 lines
7.0 KiB
Docker

FROM alpine:3.12 AS builder
ENV NC_VERSION=20.0.3
ENV NC_SHA256_SUM=e0f64504d338f64d3c677357f0012cf8b0ed0dc42ec08f958b6dc4ff70edf175
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.6.3
ENV POLLS_SHA256_SUM=3437bb1d23608e220682d3f00fc83e5906623098f0b307199871ba65eaec7af3
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.2
ENV CONTACTS_SHA256_SUM=cb72426c0bb6d38bb19aaba091b666fbd17c27683b5adc8287e96696ee77f94c
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.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.1
ENV NOTES_SHA256_SUM=52d920d1f021cb8975f9c40bb434ac8bc7294c5a8cecf33ba1ac19e6a30493b5
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.1.0
ENV NEWS_SHA256_SUM=7b8498fac01a4ad9ee1c9e156d5b612cb947dfb9144d45467ade1b070781a7a8
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.7.2
ENV EMAIL_SHA256_SUM=e0f1192a3d7b5154bab86760eeaec7678b15a3aa9b244484ed77f5d47fc5e839
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.17
ENV ELEMENT_SHA256_SUM=18a8573122323fbc9a10288c7366296c0e30fd7d3a8a4b46d41c94d4918cd3ec
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.11
ENV MASTODON_INTEGRATION_SHA256_SUM=71d65b9873d6c295ba50f553307bc902c9ac6da9b27e5db8cd6b92cabe1b903e
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.14
ENV GITHUB_INTEGRATION_SHA256_SUM=792e38dfa7e84b4e6d10f4746c0d0ad0cdc5cc94fb85323742e81387c2a05252
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.8
ENV GITLAB_INTEGRATION_SHA256_SUM=aff5056473da02a6374102f0f503ffe3dcd2c41d4c6375eb8f90383325eef606
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" ]