44 Commits

Author SHA1 Message Date
a277e11505 chore: update Nextcloud to 31.0.6 2025-06-12 10:41:10 +02:00
42b36e3c9b chore: update Nextcloud to 31.0.5 2025-05-16 09:16:24 +02:00
51b19a1236 chore: revert imagick installation to pecl
3.8.0 was released and should include the fix:
https://pecl.php.net/package/imagick/3.8.0

ref: https://github.com/hoellen/docker-nextcloud/pull/103
2025-04-28 18:52:47 +02:00
4270518e02 chore: fixing Docker build checks
* Fixing FromAsCasing
(See https://docs.docker.com/reference/build-checks/from-as-casing/)

* Fixing LegacyKeyValueFormat
(See https://docs.docker.com/reference/build-checks/legacy-key-value-format/)
2025-04-25 11:02:07 +02:00
78e4175f7f chore: update supported Nextcloud versions 2025-04-25 10:58:36 +02:00
46828aed43 chore: update Nextcloud to 31.0.4 2025-04-25 10:55:30 +02:00
19dc754372 CI: Fix unsupported runner, use ubuntu-24.04 2025-04-18 16:50:36 +02:00
54e9f1feda chore: update Nextcloud to 31.0.3 2025-04-14 10:23:29 +02:00
2892342326 chore: update Nextcloud to 31.0.2 2025-03-19 22:16:43 +01:00
a15384e7e5 chore: update Nextcloud to 31.0.1 2025-03-14 09:28:14 +01:00
5d5b8ebc1a chore: update Nextcloud to 31.0.0 2025-02-25 14:12:11 +01:00
921eec5693 chore: update Nextcloud to 30.0.6 2025-02-13 15:45:41 +01:00
1b0c1fb747 chore: update Nextcloud to 30.0.5 2025-01-21 22:15:49 +01:00
a7ade2cbc4 fix: pin Imagick version to fix build error (#102)
Related: #102, #103
2024-12-18 13:32:50 +01:00
3451a6219a fix: wrong path because of usr-merge 2024-12-13 15:10:06 +01:00
16acf58089 chore: update Nextcloud to 30.0.4 2024-12-13 11:18:34 +01:00
ae0277a368 chore: raise Alpine Linux version to 3.21
Release notes: https://wiki.alpinelinux.org/wiki/Release_Notes_for_Alpine_3.21.0
2024-12-13 11:18:06 +01:00
aeea888ef9 Raise PHP version to 8.3
(Closes: #94)
2024-12-08 13:37:56 +01:00
ae5b0cfd0c chore: update Nextcloud to version 30.0.3 2024-12-06 03:31:04 +01:00
ee9d26963c chore: update Nextcloud to version 30.0.2 2024-11-07 19:40:18 +01:00
a5538adb2f fix: add otf loading in nginx config 2024-10-18 12:03:06 +02:00
ee98f35852 chore: update Nextcloud to 30.0.1 2024-10-18 12:02:34 +02:00
2ceb05c146 chore: update Nextcloud to 30.0.0 2024-09-14 19:52:28 +02:00
ee2760237f chore: update Nextcloud to 29.0.7 2024-09-13 05:38:50 +02:00
6aa67c63b5 chore: update Nextcloud to 29.0.5 2024-08-21 10:03:37 +02:00
a0442ed1de chore: adding trailing slash
see https://docs.nextcloud.com/server/29/admin_manual/installation/nginx.html
2024-08-21 10:02:39 +02:00
74e06ec86d chore: update Nextcloud to 29.0.4 2024-07-20 11:06:42 +02:00
ce390fc654 chore: update Nextcloud to 29.0.3 2024-06-25 15:03:57 +02:00
6facdfba4f chore: update Nextcloud to 29.0.2 2024-06-07 00:26:54 +02:00
60954e1ad7 chore: update Nextcloud to 29.0.1 2024-05-23 23:07:46 +02:00
539f41e25e chore: update Alpine to 3.20 2024-05-23 23:07:46 +02:00
fa3fe52dd2 chore: update Nextcloud to 29.0.0 2024-04-24 17:39:44 +02:00
1528fc9a00 feat: enhance branch workflow 2024-04-24 17:05:32 +02:00
cb21fa369e chore: update Nginx to 1.26 (stable) 2024-04-24 09:12:30 +02:00
35f8a4f1ae chore: mark version 26 as EOL 2024-04-09 15:06:45 +02:00
34f40fe438 fix: add missing librsvg
This was caused by the update to Alpine 3.19.
2024-04-09 14:47:04 +02:00
aec283db22 chore: update cosign 2024-03-29 15:44:15 +01:00
6b6e52fbdc chore: update Alpine to 3.19 2024-03-29 14:59:30 +01:00
e0cb8643f0 chore: update Nextcloud to 28.0.4 2024-03-29 14:58:29 +01:00
314cc8016d chore: update Nextcloud to 28.0.3 2024-03-02 05:01:32 +01:00
4f112a4cdb Fully qualify the base images 2024-03-02 05:00:45 +01:00
18e11abda1 chore: update Nextcloud to 28.0.2 2024-02-01 14:48:00 +01:00
bf3c76a5f8 chore: update nginx configuration
- update static file extensions
 - add mjs to mimetype
   https://github.com/hoellen/docker-nextcloud/issues/60
 - remove legacy header
   https://github.com/hoellen/docker-nextcloud/pull/61
2024-01-02 11:10:11 +01:00
dec3a7f789 fix: set default port for PostgreSQL in db check 2023-12-27 11:24:10 +01:00
8 changed files with 43 additions and 29 deletions

View File

@ -3,7 +3,9 @@ name: build
on: on:
workflow_dispatch: workflow_dispatch:
push: push:
branches: [ master ] branches:
- master
- version-*
schedule: schedule:
# Build the image regularly (each Friday) # Build the image regularly (each Friday)
- cron: '23 04 * * 5' - cron: '23 04 * * 5'
@ -27,14 +29,17 @@ jobs:
- name: Extract version for tags - name: Extract version for tags
run: | run: |
echo "FULL_VERSION=$(grep -oP '(?<=NEXTCLOUD_VERSION=).*' Dockerfile | head -c6)" >> $GITHUB_ENV BRANCH="${GITHUB_REF#refs/heads/}"
echo "MAJOR_VERSION=$(grep -oP '(?<=NEXTCLOUD_VERSION=).*' Dockerfile | head -c2)" >> $GITHUB_ENV VERSION=$(grep -oP '(?<=NEXTCLOUD_VERSION=).*' Dockerfile)
[ "$BRANCH" = "master" ] && echo "BRANCH_VERSION=latest" >> $GITHUB_ENV
echo "FULL_VERSION=${VERSION:0:7}" >> $GITHUB_ENV
echo "MAJOR_VERSION=${VERSION:0:2}" >> $GITHUB_ENV
- name: Install cosign - name: Install cosign
if: github.event_name != 'pull_request' if: github.event_name != 'pull_request'
uses: sigstore/cosign-installer@main uses: sigstore/cosign-installer@main
with: with:
cosign-release: 'v1.13.1' cosign-release: 'v2.2.2'
- name: Set up Docker Buildx - name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1 uses: docker/setup-buildx-action@v1
@ -53,7 +58,7 @@ jobs:
with: with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: | tags: |
latest ${{ env.BRANCH_VERSION }}
${{ env.FULL_VERSION }} ${{ env.FULL_VERSION }}
${{ env.MAJOR_VERSION }} ${{ env.MAJOR_VERSION }}
@ -70,4 +75,4 @@ jobs:
if: ${{ github.event_name != 'pull_request' }} if: ${{ github.event_name != 'pull_request' }}
env: env:
COSIGN_EXPERIMENTAL: "true" COSIGN_EXPERIMENTAL: "true"
run: cosign sign ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}@${{ steps.build-and-push.outputs.digest }} run: cosign sign --yes ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}@${{ steps.build-and-push.outputs.digest }}

View File

@ -8,7 +8,7 @@ on:
jobs: jobs:
build: build:
name: Scan current image & report results name: Scan current image & report results
runs-on: "ubuntu-20.04" runs-on: "ubuntu-24.04"
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v2 uses: actions/checkout@v2

View File

@ -1,24 +1,24 @@
# -------------- Build-time variables -------------- # -------------- Build-time variables --------------
ARG NEXTCLOUD_VERSION=28.0.1 ARG NEXTCLOUD_VERSION=31.0.6
ARG PHP_VERSION=8.2 ARG PHP_VERSION=8.3
ARG NGINX_VERSION=1.24 ARG NGINX_VERSION=1.26
ARG ALPINE_VERSION=3.18 ARG ALPINE_VERSION=3.21
ARG HARDENED_MALLOC_VERSION=11 ARG HARDENED_MALLOC_VERSION=11
ARG SNUFFLEUPAGUS_VERSION=0.10.0 ARG SNUFFLEUPAGUS_VERSION=0.10.0
ARG UID=1000 ARG UID=1000
ARG GID=1000 ARG GID=1000
# nextcloud-28.0.1.tar.bz2 # nextcloud-31.0.6.tar.bz2
ARG SHA256_SUM="2f80735b443082272fe6a3b5e32137957f1fc448c75342b94b5200b29725f3a4" ARG SHA256_SUM="a6abce1be84ae65090625895ee5796c6e631fd10cb17645ec4d73f7d9b372628"
# Nextcloud Security <security@nextcloud.com> (D75899B9A724937A) # Nextcloud Security <security@nextcloud.com> (D75899B9A724937A)
ARG GPG_FINGERPRINT="2880 6A87 8AE4 23A2 8372 792E D758 99B9 A724 937A" ARG GPG_FINGERPRINT="2880 6A87 8AE4 23A2 8372 792E D758 99B9 A724 937A"
# --------------------------------------------------- # ---------------------------------------------------
### Build PHP base ### Build PHP base
FROM php:${PHP_VERSION}-fpm-alpine${ALPINE_VERSION} as base FROM docker.io/library/php:${PHP_VERSION}-fpm-alpine${ALPINE_VERSION} AS base
ARG SNUFFLEUPAGUS_VERSION ARG SNUFFLEUPAGUS_VERSION
@ -43,6 +43,7 @@ RUN apk -U upgrade \
gmp \ gmp \
icu \ icu \
libjpeg-turbo \ libjpeg-turbo \
librsvg \
libpq \ libpq \
libpq \ libpq \
libwebp \ libwebp \
@ -84,7 +85,7 @@ RUN apk -U upgrade \
### Build Hardened Malloc ### Build Hardened Malloc
ARG ALPINE_VERSION ARG ALPINE_VERSION
FROM alpine:${ALPINE_VERSION} as build-malloc FROM docker.io/library/alpine:${ALPINE_VERSION} AS build-malloc
ARG HARDENED_MALLOC_VERSION ARG HARDENED_MALLOC_VERSION
ARG CONFIG_NATIVE=false ARG CONFIG_NATIVE=false
@ -98,11 +99,11 @@ RUN apk --no-cache add build-base git gnupg && cd /tmp \
### Fetch nginx ### Fetch nginx
FROM nginx:${NGINX_VERSION}-alpine as nginx FROM docker.io/library/nginx:${NGINX_VERSION}-alpine AS nginx
### Build Nextcloud (production environemnt) ### Build Nextcloud (production environemnt)
FROM base as nextcloud FROM base AS nextcloud
COPY --from=nginx /usr/sbin/nginx /usr/sbin/nginx COPY --from=nginx /usr/sbin/nginx /usr/sbin/nginx
COPY --from=nginx /etc/nginx /etc/nginx COPY --from=nginx /etc/nginx /etc/nginx

View File

@ -58,8 +58,8 @@ Verifying the signature isn't a requirement, and might not be as seamless as usi
## Tags ## Tags
- `latest` : latest Nextcloud version - `latest` : latest Nextcloud version
- `x` : latest Nextcloud x.x (e.g. `28`) - `x` : latest Nextcloud x.x (e.g. `31`)
- `x.x.x` : Nextcloud x.x.x (e.g. `28.0.0`) - `x.x.x` : Nextcloud x.x.x (e.g. `31.0.0`)
You can always have a glance [here](https://github.com/users/hoellen/packages/container/package/nextcloud). You can always have a glance [here](https://github.com/users/hoellen/packages/container/package/nextcloud).
Only the **latest stable version** will be maintained by myself. Only the **latest stable version** will be maintained by myself.

View File

@ -7,9 +7,12 @@ and will receive the minor version updates and security patches.
| Version | Supported | | Version | Supported |
| ------- | ------------------ | | ------- | ------------------ |
| 28. x | :white_check_mark: | | 31. x | :white_check_mark: |
| 27. x | :white_check_mark: | | 30. x | :white_check_mark: |
| 26. x | :white_check_mark: | | 29. x | :negative_squared_cross_mark: |
| 28. x | :negative_squared_cross_mark: |
| 27. x | :negative_squared_cross_mark: |
| 26. x | :negative_squared_cross_mark: |
| 25. x | :negative_squared_cross_mark: | | 25. x | :negative_squared_cross_mark: |
| 24. x | :negative_squared_cross_mark: | | 24. x | :negative_squared_cross_mark: |
| 23. x | :negative_squared_cross_mark: | | 23. x | :negative_squared_cross_mark: |

View File

@ -18,7 +18,6 @@ server {
add_header Referrer-Policy "no-referrer" always; add_header Referrer-Policy "no-referrer" always;
add_header X-Content-Type-Options "nosniff" always; add_header X-Content-Type-Options "nosniff" always;
add_header X-Download-Options "noopen" always;
add_header X-Frame-Options "SAMEORIGIN" always; add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Permitted-Cross-Domain-Policies "none" always; add_header X-Permitted-Cross-Domain-Policies "none" always;
add_header X-Robots-Tag "noindex, nofollow" always; add_header X-Robots-Tag "noindex, nofollow" always;
@ -31,8 +30,8 @@ server {
} }
location ^~ /.well-known { location ^~ /.well-known {
location = /.well-known/carddav { return 301 $nc_proto://$host/remote.php/dav; } location = /.well-known/carddav { return 301 $nc_proto://$host/remote.php/dav/; }
location = /.well-known/caldav { return 301 $nc_proto://$host/remote.php/dav; } location = /.well-known/caldav { return 301 $nc_proto://$host/remote.php/dav/; }
location ^~ /.well-known { return 301 $nc_proto://$host/index.php$uri; } location ^~ /.well-known { return 301 $nc_proto://$host/index.php$uri; }
try_files $uri $uri/ =404; try_files $uri $uri/ =404;
} }
@ -67,13 +66,13 @@ server {
index index.php; index index.php;
} }
location ~ \.(?:css|js|svg|gif|map)$ { location ~ \.(?:css|js|mjs|svg|gif|png|jpg|ico|wasm|tflite|map|ogg|flac)$ {
try_files $uri /index.php$uri$is_args$args; try_files $uri /index.php$uri$is_args$args;
expires 6M; expires 6M;
access_log off; access_log off;
} }
location ~ \.woff2?$ { location ~ \.(otf|woff2)?$ {
try_files $uri /index.php$uri$is_args$args; try_files $uri /index.php$uri$is_args$args;
expires 7d; expires 7d;
access_log off; access_log off;

View File

@ -9,6 +9,11 @@ events {
http { http {
include /etc/nginx/mime.types; include /etc/nginx/mime.types;
# Add .mjs as a file extension for javascript
# https://github.com/nextcloud/server/pull/36057
types {
application/javascript mjs;
}
default_type application/octet-stream; default_type application/octet-stream;
access_log /nginx/logs/access.log combined; access_log /nginx/logs/access.log combined;

View File

@ -17,7 +17,8 @@ fi
# Check if database is available # Check if database is available
if [ -n "${DB_TYPE}" ] && [ "${DB_TYPE}" != "sqlite3" ]; then if [ -n "${DB_TYPE}" ] && [ "${DB_TYPE}" != "sqlite3" ]; then
until nc -z "${DB_HOST:-nextcloud-db}" "${DB_PORT:-3306}" DB_PORT=${DB_PORT:-$( [ "${DB_TYPE}" = "pgsql" ] && echo 5432 || echo 3306 )}
until nc -z "${DB_HOST:-nextcloud-db}" "${DB_PORT}"
do do
echo "waiting for the database container..." echo "waiting for the database container..."
sleep 1 sleep 1
@ -33,4 +34,4 @@ else
fi fi
# Run processes # Run processes
exec /bin/s6-svscan /etc/s6.d exec /usr/bin/s6-svscan /etc/s6.d