39 Commits

Author SHA1 Message Date
a18044bc0e chore: update Nextcloud to 30.0.12 2025-06-12 10:40:49 +02:00
316f0382c9 chore: update Nextcloud to 30.0.11 2025-05-16 09:16:05 +02:00
60ba7aee48 chore: update Nextcloud to 30.0.10 2025-04-25 10:55:41 +02:00
d460ad50a3 chore: update Nextcloud to 30.0.9 2025-04-14 10:23:42 +02:00
ee1adeef8f chore: update Nextcloud to 30.0.8 2025-03-19 22:16:15 +01:00
6f8f4290a0 chore: update Nextcloud to 30.0.7 2025-03-14 09:27:41 +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
7 changed files with 43 additions and 27 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

@ -1,27 +1,29 @@
# -------------- Build-time variables -------------- # -------------- Build-time variables --------------
ARG NEXTCLOUD_VERSION=28.0.1 ARG NEXTCLOUD_VERSION=30.0.12
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-30.0.12.tar.bz2
ARG SHA256_SUM="2f80735b443082272fe6a3b5e32137957f1fc448c75342b94b5200b29725f3a4" ARG SHA256_SUM="9e19b25f42273d4361218426b4762a766bee408cfa6aa8219f8c27f72095a7a8"
# 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
ENV IMAGICK_SHA 28f27044e435a2b203e32675e942eb8de620ee58
RUN apk -U upgrade \ RUN apk -U upgrade \
&& apk add -t build-deps \ && apk add -t build-deps \
$PHPIZE_DEPS \ $PHPIZE_DEPS \
@ -43,6 +45,7 @@ RUN apk -U upgrade \
gmp \ gmp \
icu \ icu \
libjpeg-turbo \ libjpeg-turbo \
librsvg \
libpq \ libpq \
libpq \ libpq \
libwebp \ libwebp \
@ -71,7 +74,8 @@ RUN apk -U upgrade \
&& pecl install smbclient \ && pecl install smbclient \
&& pecl install APCu \ && pecl install APCu \
&& pecl install redis \ && pecl install redis \
&& pecl install imagick \ && curl -L -o /tmp/imagick.tar.gz https://github.com/Imagick/imagick/archive/${IMAGICK_SHA}.tar.gz && tar --strip-components=1 -xf /tmp/imagick.tar.gz && phpize && ./configure && make && make install \
&& apk add --no-cache --virtual .imagick-runtime-deps imagemagick \
&& docker-php-ext-enable \ && docker-php-ext-enable \
smbclient \ smbclient \
redis \ redis \
@ -84,7 +88,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,7 +102,7 @@ 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)

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. `30`)
- `x.x.x` : Nextcloud x.x.x (e.g. `28.0.0`) - `x.x.x` : Nextcloud x.x.x (e.g. `30.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,11 @@ and will receive the minor version updates and security patches.
| Version | Supported | | Version | Supported |
| ------- | ------------------ | | ------- | ------------------ |
| 30. x | :white_check_mark: |
| 29. x | :white_check_mark: |
| 28. x | :white_check_mark: | | 28. x | :white_check_mark: |
| 27. x | :white_check_mark: | | 27. x | :negative_squared_cross_mark: |
| 26. x | :white_check_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