0
0
Fork 0
mirror of https://github.com/nextcloud/docker.git synced 2025-04-20 02:46:10 +02:00

Merged from original and added nextcloud 27

This commit is contained in:
Glaucio Campos 2023-06-14 01:53:14 -03:00
commit f826e8a82c
No known key found for this signature in database
GPG key ID: 8DADB594A2F7C4AA
52 changed files with 192 additions and 95 deletions

View file

@ -82,3 +82,20 @@ jobs:
push: true
tags: glauciocampos/nextcloud:26-apache-arm64-${{ env.TAG_RANDOM }}
platforms: linux/arm64
name: Nextcloud 27 Apache (amd64)
uses: docker/build-push-action@v4
with:
context: ./27/apache
push: true
tags: glauciocampos/nextcloud:27-apache-amd64-${{ env.TAG_RANDOM }}
platforms: linux/amd64
-
name: Nextcloud 27 Apache (arm64)
uses: docker/build-push-action@v4
with:
context: ./27/apache
push: true
tags: glauciocampos/nextcloud:27-apache-arm64-${{ env.TAG_RANDOM }}
platforms: linux/arm64

View file

@ -24,6 +24,7 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
with:
tag_name: v1.0.1
draft: false
allowUpdates: true
prerelease: false

View file

@ -129,7 +129,7 @@ RUN a2enmod headers rewrite remoteip ;\
} > /etc/apache2/conf-available/remoteip.conf;\
a2enconf remoteip
ENV NEXTCLOUD_VERSION 25.0.6
ENV NEXTCLOUD_VERSION 25.0.7
RUN set -ex; \
fetchDeps=" \
@ -139,10 +139,8 @@ RUN set -ex; \
apt-get update; \
apt-get install -y --no-install-recommends $fetchDeps; \
\
curl -fsSL -o nextcloud.tar.bz2 \
"https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc \
"https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2.asc"; \
curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-25.0.7.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-25.0.7.tar.bz2.asc"; \
export GNUPGHOME="$(mktemp -d)"; \
# gpg key from https://nextcloud.com/nextcloud.asc
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \

View file

@ -72,8 +72,8 @@ RUN set -ex; \
| sort -u \
| awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
)"; \
apk add --virtual .nextcloud-phpext-rundeps $runDeps; \
apk del .build-deps
apk add --no-network --virtual .nextcloud-phpext-rundeps $runDeps; \
apk del --no-network .build-deps
# set recommended PHP.ini settings
# see https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html#enable-php-opcache
@ -105,7 +105,7 @@ RUN { \
VOLUME /var/www/html
ENV NEXTCLOUD_VERSION 25.0.6
ENV NEXTCLOUD_VERSION 25.0.7
RUN set -ex; \
apk add --no-cache --virtual .fetch-deps \
@ -113,10 +113,8 @@ RUN set -ex; \
gnupg \
; \
\
curl -fsSL -o nextcloud.tar.bz2 \
"https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc \
"https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2.asc"; \
curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-25.0.7.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-25.0.7.tar.bz2.asc"; \
export GNUPGHOME="$(mktemp -d)"; \
# gpg key from https://nextcloud.com/nextcloud.asc
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
@ -128,7 +126,7 @@ RUN set -ex; \
mkdir -p /usr/src/nextcloud/data; \
mkdir -p /usr/src/nextcloud/custom_apps; \
chmod +x /usr/src/nextcloud/occ; \
apk del .fetch-deps
apk del --no-network .fetch-deps
COPY *.sh upgrade.exclude /
COPY config/* /usr/src/nextcloud/config/

View file

@ -117,7 +117,7 @@ RUN { \
VOLUME /var/www/html
ENV NEXTCLOUD_VERSION 25.0.6
ENV NEXTCLOUD_VERSION 25.0.7
RUN set -ex; \
fetchDeps=" \
@ -127,10 +127,8 @@ RUN set -ex; \
apt-get update; \
apt-get install -y --no-install-recommends $fetchDeps; \
\
curl -fsSL -o nextcloud.tar.bz2 \
"https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc \
"https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2.asc"; \
curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-25.0.7.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-25.0.7.tar.bz2.asc"; \
export GNUPGHOME="$(mktemp -d)"; \
# gpg key from https://nextcloud.com/nextcloud.asc
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \

View file

@ -1,5 +1,5 @@
# DO NOT EDIT: created by update.sh from Dockerfile-debian.template
FROM php:8.1-apache-bullseye
FROM php:8.2-apache-bullseye
# entrypoint.sh and cron.sh dependencies
RUN set -ex; \
@ -130,7 +130,7 @@ RUN a2enmod headers rewrite remoteip ;\
} > /etc/apache2/conf-available/remoteip.conf;\
a2enconf remoteip
ENV NEXTCLOUD_VERSION 26.0.1
ENV NEXTCLOUD_VERSION 26.0.2
RUN set -ex; \
fetchDeps=" \
@ -140,10 +140,8 @@ RUN set -ex; \
apt-get update; \
apt-get install -y --no-install-recommends $fetchDeps; \
\
curl -fsSL -o nextcloud.tar.bz2 \
"https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc \
"https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2.asc"; \
curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-26.0.2.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-26.0.2.tar.bz2.asc"; \
export GNUPGHOME="$(mktemp -d)"; \
# gpg key from https://nextcloud.com/nextcloud.asc
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \

View file

@ -1,5 +1,5 @@
# DO NOT EDIT: created by update.sh from Dockerfile-alpine.template
FROM php:8.1-fpm-alpine3.17
FROM php:8.2-fpm-alpine3.18
# entrypoint.sh and cron.sh dependencies
RUN set -ex; \
@ -73,8 +73,8 @@ RUN set -ex; \
| sort -u \
| awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
)"; \
apk add --virtual .nextcloud-phpext-rundeps $runDeps; \
apk del .build-deps
apk add --no-network --virtual .nextcloud-phpext-rundeps $runDeps; \
apk del --no-network .build-deps
# set recommended PHP.ini settings
# see https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html#enable-php-opcache
@ -106,7 +106,7 @@ RUN { \
VOLUME /var/www/html
ENV NEXTCLOUD_VERSION 26.0.1
ENV NEXTCLOUD_VERSION 26.0.2
RUN set -ex; \
apk add --no-cache --virtual .fetch-deps \
@ -114,10 +114,8 @@ RUN set -ex; \
gnupg \
; \
\
curl -fsSL -o nextcloud.tar.bz2 \
"https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc \
"https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2.asc"; \
curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-26.0.2.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-26.0.2.tar.bz2.asc"; \
export GNUPGHOME="$(mktemp -d)"; \
# gpg key from https://nextcloud.com/nextcloud.asc
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
@ -129,7 +127,7 @@ RUN set -ex; \
mkdir -p /usr/src/nextcloud/data; \
mkdir -p /usr/src/nextcloud/custom_apps; \
chmod +x /usr/src/nextcloud/occ; \
apk del .fetch-deps
apk del --no-network .fetch-deps
COPY *.sh upgrade.exclude /
COPY config/* /usr/src/nextcloud/config/

View file

@ -1,5 +1,5 @@
# DO NOT EDIT: created by update.sh from Dockerfile-debian.template
FROM php:8.1-fpm-bullseye
FROM php:8.2-fpm-bullseye
# entrypoint.sh and cron.sh dependencies
RUN set -ex; \
@ -118,7 +118,7 @@ RUN { \
VOLUME /var/www/html
ENV NEXTCLOUD_VERSION 26.0.1
ENV NEXTCLOUD_VERSION 26.0.2
RUN set -ex; \
fetchDeps=" \
@ -128,10 +128,8 @@ RUN set -ex; \
apt-get update; \
apt-get install -y --no-install-recommends $fetchDeps; \
\
curl -fsSL -o nextcloud.tar.bz2 \
"https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc \
"https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2.asc"; \
curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-26.0.2.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-26.0.2.tar.bz2.asc"; \
export GNUPGHOME="$(mktemp -d)"; \
# gpg key from https://nextcloud.com/nextcloud.asc
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \

View file

@ -1,5 +1,5 @@
# DO NOT EDIT: created by update.sh from Dockerfile-debian.template
FROM php:8.0-apache-bullseye
FROM php:8.2-apache-bullseye
# entrypoint.sh and cron.sh dependencies
RUN set -ex; \
@ -60,6 +60,7 @@ RUN set -ex; \
pcntl \
pdo_mysql \
pdo_pgsql \
sysvsem \
zip \
; \
\
@ -129,7 +130,7 @@ RUN a2enmod headers rewrite remoteip ;\
} > /etc/apache2/conf-available/remoteip.conf;\
a2enconf remoteip
ENV NEXTCLOUD_VERSION 24.0.12
ENV NEXTCLOUD_VERSION 27.0.0
RUN set -ex; \
fetchDeps=" \
@ -139,10 +140,8 @@ RUN set -ex; \
apt-get update; \
apt-get install -y --no-install-recommends $fetchDeps; \
\
curl -fsSL -o nextcloud.tar.bz2 \
"https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc \
"https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2.asc"; \
curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-27.0.0.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-27.0.0.tar.bz2.asc"; \
export GNUPGHOME="$(mktemp -d)"; \
# gpg key from https://nextcloud.com/nextcloud.asc
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \

View file

@ -1,5 +1,5 @@
# DO NOT EDIT: created by update.sh from Dockerfile-alpine.template
FROM php:8.0-fpm-alpine3.16
FROM php:8.2-fpm-alpine3.18
# entrypoint.sh and cron.sh dependencies
RUN set -ex; \
@ -49,6 +49,7 @@ RUN set -ex; \
pcntl \
pdo_mysql \
pdo_pgsql \
sysvsem \
zip \
; \
\
@ -72,8 +73,8 @@ RUN set -ex; \
| sort -u \
| awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
)"; \
apk add --virtual .nextcloud-phpext-rundeps $runDeps; \
apk del .build-deps
apk add --no-network --virtual .nextcloud-phpext-rundeps $runDeps; \
apk del --no-network .build-deps
# set recommended PHP.ini settings
# see https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html#enable-php-opcache
@ -105,7 +106,7 @@ RUN { \
VOLUME /var/www/html
ENV NEXTCLOUD_VERSION 24.0.12
ENV NEXTCLOUD_VERSION 27.0.0
RUN set -ex; \
apk add --no-cache --virtual .fetch-deps \
@ -113,10 +114,8 @@ RUN set -ex; \
gnupg \
; \
\
curl -fsSL -o nextcloud.tar.bz2 \
"https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc \
"https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2.asc"; \
curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-27.0.0.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-27.0.0.tar.bz2.asc"; \
export GNUPGHOME="$(mktemp -d)"; \
# gpg key from https://nextcloud.com/nextcloud.asc
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
@ -128,7 +127,7 @@ RUN set -ex; \
mkdir -p /usr/src/nextcloud/data; \
mkdir -p /usr/src/nextcloud/custom_apps; \
chmod +x /usr/src/nextcloud/occ; \
apk del .fetch-deps
apk del --no-network .fetch-deps
COPY *.sh upgrade.exclude /
COPY config/* /usr/src/nextcloud/config/

View file

@ -1,5 +1,5 @@
# DO NOT EDIT: created by update.sh from Dockerfile-debian.template
FROM php:8.0-fpm-bullseye
FROM php:8.2-fpm-bullseye
# entrypoint.sh and cron.sh dependencies
RUN set -ex; \
@ -58,6 +58,7 @@ RUN set -ex; \
pcntl \
pdo_mysql \
pdo_pgsql \
sysvsem \
zip \
; \
\
@ -117,7 +118,7 @@ RUN { \
VOLUME /var/www/html
ENV NEXTCLOUD_VERSION 24.0.12
ENV NEXTCLOUD_VERSION 27.0.0
RUN set -ex; \
fetchDeps=" \
@ -127,10 +128,8 @@ RUN set -ex; \
apt-get update; \
apt-get install -y --no-install-recommends $fetchDeps; \
\
curl -fsSL -o nextcloud.tar.bz2 \
"https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc \
"https://download.nextcloud.com/server/releases/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2.asc"; \
curl -fsSL -o nextcloud.tar.bz2 "https://download.nextcloud.com/server/releases/nextcloud-27.0.0.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc "https://download.nextcloud.com/server/releases/nextcloud-27.0.0.tar.bz2.asc"; \
export GNUPGHOME="$(mktemp -d)"; \
# gpg key from https://nextcloud.com/nextcloud.asc
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \

View file

@ -72,8 +72,8 @@ RUN set -ex; \
| sort -u \
| awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
)"; \
apk add --virtual .nextcloud-phpext-rundeps $runDeps; \
apk del .build-deps
apk add --no-network --virtual .nextcloud-phpext-rundeps $runDeps; \
apk del --no-network .build-deps
# set recommended PHP.ini settings
# see https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html#enable-php-opcache
@ -113,10 +113,8 @@ RUN set -ex; \
gnupg \
; \
\
curl -fsSL -o nextcloud.tar.bz2 \
"%%BASE_DOWNLOAD_URL%%/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc \
"%%BASE_DOWNLOAD_URL%%/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2.asc"; \
curl -fsSL -o nextcloud.tar.bz2 "%%DOWNLOAD_URL%%"; \
curl -fsSL -o nextcloud.tar.bz2.asc "%%DOWNLOAD_URL_ASC%%"; \
export GNUPGHOME="$(mktemp -d)"; \
# gpg key from https://nextcloud.com/nextcloud.asc
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \
@ -128,7 +126,7 @@ RUN set -ex; \
mkdir -p /usr/src/nextcloud/data; \
mkdir -p /usr/src/nextcloud/custom_apps; \
chmod +x /usr/src/nextcloud/occ; \
apk del .fetch-deps
apk del --no-network .fetch-deps
COPY *.sh upgrade.exclude /
COPY config/* /usr/src/nextcloud/config/

View file

@ -1,4 +1,4 @@
FROM php:%%PHP_VERSION%%-%%VARIANT%%-bullseye
FROM php:%%PHP_VERSION%%-%%VARIANT%%-%%DEBIAN_VERSION%%
# entrypoint.sh and cron.sh dependencies
RUN set -ex; \
@ -127,10 +127,8 @@ RUN set -ex; \
apt-get update; \
apt-get install -y --no-install-recommends $fetchDeps; \
\
curl -fsSL -o nextcloud.tar.bz2 \
"%%BASE_DOWNLOAD_URL%%/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2"; \
curl -fsSL -o nextcloud.tar.bz2.asc \
"%%BASE_DOWNLOAD_URL%%/nextcloud-${NEXTCLOUD_VERSION}.tar.bz2.asc"; \
curl -fsSL -o nextcloud.tar.bz2 "%%DOWNLOAD_URL%%"; \
curl -fsSL -o nextcloud.tar.bz2.asc "%%DOWNLOAD_URL_ASC%%"; \
export GNUPGHOME="$(mktemp -d)"; \
# gpg key from https://nextcloud.com/nextcloud.asc
gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 28806A878AE423A28372792ED75899B9A724937A; \

View file

@ -24,7 +24,7 @@ A safe home for all your data. Access & share your files, calendars, contacts, m
![logo](https://cdn.rawgit.com/nextcloud/docker/80dd587d847b184ba95d7187a2a7a56ae4cbbb7b/logo.svg)
This Docker micro-service image is developed and maintained by the Nextcloud community. Nextcloud GmbH does not offer support for this Docker image. When you are looking to get professional support, you can become an [enterprise](https://nextcloud.com/enterprise/) customer or use [AIO](https://github.com/nextcloud/all-in-one#nextcloud-all-in-one).
This Docker micro-service image is developed and maintained by the Nextcloud community. Nextcloud GmbH does not offer support for this Docker image. When you are looking to get professional support, you can become an [enterprise](https://nextcloud.com/enterprise/) customer or use [Nextcloud All-in-One docker image](https://github.com/nextcloud/all-in-one#nextcloud-all-in-one) - as the name suggests, Nextcloud All-in-One provides easy deployment and maintenance of Nextcloud Hub included in this one Nextcloud instance.
# How to use this image
This image is designed to be used in a micro-service environment. There are two versions of the image you can choose from.
@ -46,7 +46,7 @@ Now you can access Nextcloud at http://localhost:8080/ from your host system.
## Using the fpm image
To use the fpm image, you need an additional web server, such as [nginx](https://docs.nextcloud.com/server/latest/admin_manual/installation/nginx.html), that can proxy http-request to the fpm-port of the container. For fpm connection this container exposes port 9000. In most cases, you might want use another container or your host as proxy. If you use your host you can address your Nextcloud container directly on port 9000. If you use another container, make sure that you add them to the same docker network (via `docker run --network <NAME> ...` or a `docker-compose` file). In both cases you don't want to map the fpm port to your host.
To use the fpm image, you need an additional web server, such as [nginx](https://docs.nextcloud.com/server/latest/admin_manual/installation/nginx.html), that can proxy http-request to the fpm-port of the container. For fpm connection this container exposes port 9000. In most cases, you might want to use another container or your host as proxy. If you use your host you can address your Nextcloud container directly on port 9000. If you use another container, make sure that you add them to the same docker network (via `docker run --network <NAME> ...` or a `docker-compose` file). In both cases you don't want to map the fpm port to your host.
```console
$ docker run -d nextcloud:fpm

View file

@ -1,7 +1,7 @@
#!/usr/bin/env bash
set -Eeuo pipefail
stable_channel='25.0.6'
stable_channel='25.0.7'
self="$(basename "$BASH_SOURCE")"
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"

View file

@ -1 +1 @@
26.0.1
27.0.0

View file

@ -2,14 +2,17 @@
set -eo pipefail
declare -A alpine_version=(
[24]='3.16'
[25]='3.16'
[default]='3.17'
[default]='3.18'
)
declare -A debian_version=(
[default]='bullseye'
)
declare -A php_version=(
[24]='8.0'
[default]='8.1'
[25]='8.1'
[default]='8.2'
)
declare -A cmd=(
@ -83,7 +86,7 @@ variants=(
fpm-alpine
)
min_version='24'
min_version='25'
# version_greater_or_equal A B returns whether A >= B
function version_greater_or_equal() {
@ -93,8 +96,11 @@ function version_greater_or_equal() {
function create_variant() {
dir="$1/$variant"
alpineVersion=${alpine_version[$version]-${alpine_version[default]}}
debianVersion=${debian_version[$version]-${debian_version[default]}}
phpVersion=${php_version[$version]-${php_version[default]}}
crontabInt=${crontab_int[$version]-${crontab_int[default]}}
url="https://download.nextcloud.com/server/releases/nextcloud-$fullversion.tar.bz2"
ascUrl="https://download.nextcloud.com/server/releases/nextcloud-$fullversion.tar.bz2.asc"
# Create the version+variant directory with a Dockerfile.
mkdir -p "$dir"
@ -105,13 +111,23 @@ function create_variant() {
echo "updating $fullversion [$1] $variant"
# Apply version+variant-specific patches
case "$version" in
25)
# Nextcloud 26+ recommends sysvsem
sed -ri -e '/sysvsem/d' "$dir/Dockerfile"
;;
esac
# Replace the variables.
sed -ri -e '
s/%%ALPINE_VERSION%%/'"$alpineVersion"'/g;
s/%%DEBIAN_VERSION%%/'"$debianVersion"'/g;
s/%%PHP_VERSION%%/'"$phpVersion"'/g;
s/%%VARIANT%%/'"$variant"'/g;
s/%%VERSION%%/'"$fullversion"'/g;
s/%%BASE_DOWNLOAD_URL%%/'"$2"'/g;
s/%%DOWNLOAD_URL%%/'"$(sed -e 's/[\/&]/\\&/g' <<< "$url")"'/g;
s/%%DOWNLOAD_URL_ASC%%/'"$(sed -e 's/[\/&]/\\&/g' <<< "$ascUrl")"'/g;
s/%%CMD%%/'"${cmd[$variant]}"'/g;
s|%%VARIANT_EXTRAS%%|'"${extras[$variant]}"'|g;
s/%%APCU_VERSION%%/'"${pecl_versions[APCu]}"'/g;
@ -121,15 +137,6 @@ function create_variant() {
s/%%CRONTAB_INT%%/'"$crontabInt"'/g;
' "$dir/Dockerfile"
# Nextcloud 26+ recommends sysvsem
case "$version" in
24|25 )
sed -ri -e '
/sysvsem/d
' "$dir/Dockerfile"
;;
esac
# Copy the shell scripts
for name in entrypoint cron; do
cp "docker-$name.sh" "$dir/$name.sh"
@ -145,6 +152,16 @@ function create_variant() {
if [ "$variant" != "apache" ]; then
rm "$dir/config/apache-pretty-urls.config.php"
fi
# Add variant to versions.json
[ "${base[$variant]}" == "alpine" ] && baseVersion="$alpineVersion" || baseVersion="$debianVersion"
versionVariantsJson="$(jq -e \
--arg version "$version" --arg variant "$variant" --arg base "${base[$variant]}" --arg baseVersion "$baseVersion" --arg phpVersion "$phpVersion" \
'.[$version].variants[$variant] = {"variant": $variant, "base": $base, "baseVersion": $baseVersion, "phpVersion": $phpVersion}' versions.json)"
versionJson="$(jq -e \
--arg version "$version" --arg fullversion "$fullversion" --arg url "$url" --arg ascUrl "$ascUrl" --argjson variants "$versionVariantsJson" \
'.[$version] = {"branch": $version, "version": $fullversion, "url": $url, "ascUrl": $ascUrl, "variants": $variants[$version].variants}' versions.json)"
printf '%s\n' "$versionJson" > versions.json
}
curl -fsSL 'https://download.nextcloud.com/server/releases/' |tac|tac| \
@ -155,19 +172,20 @@ curl -fsSL 'https://download.nextcloud.com/server/releases/' |tac|tac| \
find . -maxdepth 1 -type d -regextype sed -regex '\./[[:digit:]]\+\.[[:digit:]]\+\(-rc\|-beta\|-alpha\)\?' -exec rm -r '{}' \;
printf '%s' "{}" > versions.json
fullversions=( $( curl -fsSL 'https://download.nextcloud.com/server/releases/' |tac|tac| \
grep -oE 'nextcloud-[[:digit:]]+(\.[[:digit:]]+){2}' | \
grep -oE '[[:digit:]]+(\.[[:digit:]]+){2}' | \
sort -urV ) )
versions=( $( printf '%s\n' "${fullversions[@]}" | cut -d. -f1 | sort -urV ) )
for version in "${versions[@]}"; do
fullversion="$( printf '%s\n' "${fullversions[@]}" | grep -E "^$version" | head -1 )"
if version_greater_or_equal "$version" "$min_version"; then
for variant in "${variants[@]}"; do
create_variant "$version" "https:\/\/download.nextcloud.com\/server\/releases"
create_variant "$version"
done
fi
done

80
versions.json Normal file
View file

@ -0,0 +1,80 @@
{
"27": {
"branch": "27",
"version": "27.0.0",
"url": "https://download.nextcloud.com/server/releases/nextcloud-27.0.0.tar.bz2",
"ascUrl": "https://download.nextcloud.com/server/releases/nextcloud-27.0.0.tar.bz2.asc",
"variants": {
"apache": {
"variant": "apache",
"base": "debian",
"baseVersion": "bullseye",
"phpVersion": "8.2"
},
"fpm": {
"variant": "fpm",
"base": "debian",
"baseVersion": "bullseye",
"phpVersion": "8.2"
},
"fpm-alpine": {
"variant": "fpm-alpine",
"base": "alpine",
"baseVersion": "3.18",
"phpVersion": "8.2"
}
}
},
"26": {
"branch": "26",
"version": "26.0.2",
"url": "https://download.nextcloud.com/server/releases/nextcloud-26.0.2.tar.bz2",
"ascUrl": "https://download.nextcloud.com/server/releases/nextcloud-26.0.2.tar.bz2.asc",
"variants": {
"apache": {
"variant": "apache",
"base": "debian",
"baseVersion": "bullseye",
"phpVersion": "8.2"
},
"fpm": {
"variant": "fpm",
"base": "debian",
"baseVersion": "bullseye",
"phpVersion": "8.2"
},
"fpm-alpine": {
"variant": "fpm-alpine",
"base": "alpine",
"baseVersion": "3.18",
"phpVersion": "8.2"
}
}
},
"25": {
"branch": "25",
"version": "25.0.7",
"url": "https://download.nextcloud.com/server/releases/nextcloud-25.0.7.tar.bz2",
"ascUrl": "https://download.nextcloud.com/server/releases/nextcloud-25.0.7.tar.bz2.asc",
"variants": {
"apache": {
"variant": "apache",
"base": "debian",
"baseVersion": "bullseye",
"phpVersion": "8.1"
},
"fpm": {
"variant": "fpm",
"base": "debian",
"baseVersion": "bullseye",
"phpVersion": "8.1"
},
"fpm-alpine": {
"variant": "fpm-alpine",
"base": "alpine",
"baseVersion": "3.16",
"phpVersion": "8.1"
}
}
}
}