add Nextcloud 20

This commit is contained in:
Wonderfall 2020-10-15 14:28:20 +02:00
parent 7039f3bfc6
commit 74b57dfc62
3 changed files with 79 additions and 3 deletions

76
Dockerfile.20 Normal file
View File

@ -0,0 +1,76 @@
FROM wonderfall/nginx-php:7.3
ARG NEXTCLOUD_VERSION=20.0.0
ARG GPG_nextcloud="2880 6A87 8AE4 23A2 8372 792E D758 99B9 A724 937A"
ENV UID=991 GID=991 \
UPLOAD_MAX_SIZE=10G \
APC_SHM_SIZE=128M \
OPCACHE_MEM_SIZE=128 \
MEMORY_LIMIT=512M \
CRON_PERIOD=5m \
CRON_MEMORY_LIMIT=1g \
TZ=Etc/UTC \
DB_TYPE=sqlite3 \
DOMAIN=localhost
RUN apk -U upgrade \
&& apk add -t build-dependencies \
gnupg \
tar \
build-base \
autoconf \
automake \
pcre-dev \
libtool \
samba-dev \
imagemagick-dev \
&& apk add \
libressl \
ca-certificates \
libsmbclient \
tzdata \
imagemagick \
ffmpeg \
&& pecl install \
smbclient \
apcu \
redis \
imagick \
&& echo "extension=smbclient.so" > /php/conf.d/smbclient.ini \
&& echo "extension=redis.so" > /php/conf.d/redis.ini \
&& echo "extension=imagick.so" > /php/conf.d/imagick.ini \
&& mkdir /nextcloud \
&& cd /tmp \
&& NEXTCLOUD_TARBALL="nextcloud-${NEXTCLOUD_VERSION}.tar.bz2" \
&& wget -q https://download.nextcloud.com/server/releases/${NEXTCLOUD_TARBALL} \
&& wget -q https://download.nextcloud.com/server/releases/${NEXTCLOUD_TARBALL}.sha512 \
&& wget -q https://download.nextcloud.com/server/releases/${NEXTCLOUD_TARBALL}.asc \
&& wget -q https://nextcloud.com/nextcloud.asc \
&& echo "Verifying both integrity and authenticity of ${NEXTCLOUD_TARBALL}..." \
&& CHECKSUM_STATE=$(echo -n $(sha512sum -c ${NEXTCLOUD_TARBALL}.sha512) | tail -c 2) \
&& if [ "${CHECKSUM_STATE}" != "OK" ]; then echo "Warning! Checksum does not match!" && exit 1; fi \
&& gpg --import nextcloud.asc \
&& FINGERPRINT="$(LANG=C gpg --verify ${NEXTCLOUD_TARBALL}.asc ${NEXTCLOUD_TARBALL} 2>&1 \
| sed -n "s#Primary key fingerprint: \(.*\)#\1#p")" \
&& if [ -z "${FINGERPRINT}" ]; then echo "Warning! Invalid GPG signature!" && exit 1; fi \
&& if [ "${FINGERPRINT}" != "${GPG_nextcloud}" ]; then echo "Warning! Wrong GPG fingerprint!" && exit 1; fi \
&& echo "All seems good, now unpacking ${NEXTCLOUD_TARBALL}..." \
&& tar xjf ${NEXTCLOUD_TARBALL} --strip 1 -C /nextcloud \
&& update-ca-certificates \
&& apk del build-dependencies \
&& rm -rf /var/cache/apk/* /tmp/* /root/.gnupg
COPY rootfs /
RUN chmod +x /usr/local/bin/* /etc/s6.d/*/* /etc/s6.d/.s6-svscan/*
VOLUME /data /config /apps2 /nextcloud/themes
EXPOSE 8888
LABEL description="A server software for creating file hosting services" \
nextcloud="Nextcloud v${NEXTCLOUD_VERSION}" \
maintainer="Wonderfall <wonderfall@targaryen.house>"
CMD ["run.sh"]

View File

@ -7,7 +7,7 @@
### Features ### Features
- Based on Alpine Linux. - Based on Alpine Linux.
- Bundled with nginx and PHP 7.4 (wonderfall/nginx-php image). - Bundled with nginx and PHP 7.3 (wonderfall/nginx-php image).
- Automatic installation using environment variables. - Automatic installation using environment variables.
- Package integrity (SHA512) and authenticity (PGP) checked during building process. - Package integrity (SHA512) and authenticity (PGP) checked during building process.
- Data and apps persistence. - Data and apps persistence.
@ -21,8 +21,8 @@
### Tags ### Tags
- **latest** : latest stable version. - **latest** : latest stable version.
- **19.0** : latest 18.0.x version (stable) - **20.0** : latest 20.0.x version (stable, recommended)
- **18.0** : latest 17.0.x version (oldstable, please migrate!) - **19.0** : latest 19.0.x version (old stable)
Since this project should suit my needs, I'll only maintain the latest stable version available. Since this project should suit my needs, I'll only maintain the latest stable version available.