13 Commits

Author SHA1 Message Date
df325e20d8 Merge 40b2779cfb into 2334b3e231 2023-10-30 10:19:47 +01:00
2334b3e231 chore: update Nextcloud to 27.1.3 2023-10-30 10:18:22 +01:00
6adf9e6bf8 Fix resolving osc-provider (Closes: #47)
Accordingly to dc0b8d9c39
2023-10-21 09:40:13 +02:00
40b2779cfb Check if db is available, not just in setup
Checking for a available database when installing is fine, but running
occ upgrade without a db available is also a problem. This checks for db
availability in every case.
2023-10-11 12:19:09 +02:00
0bb63de5b4 chore: update Nextcloud to 27.1.2 2023-10-06 00:44:08 +02:00
0ee4012ae6 Update Snuffleupagus to 0.10.0 2023-09-21 16:17:49 +02:00
18da631215 Drop call of libxml_set_external_entity_loader
ref:
  - https://github.com/jvoisin/snuffleupagus/issues/463
  - https://github.com/hoellen/docker-nextcloud/issues/42
2023-09-21 16:12:33 +02:00
e627d1fd4c chore: update Nextcloud to 27.1.1 2023-09-21 15:52:33 +02:00
86012886af chore: update Nextcloud to 27.1.0 2023-09-15 22:22:15 +02:00
de096e78a4 chore: update Nextcloud to 27.0.2 2023-08-10 12:34:01 +02:00
2d3fd8f5c3 fix: disable snuffleupagus xxe protection
Nextcloud now prevents loading external entities by using libxml_set_external_entity_loader.

ref:
https://github.com/nextcloud/server/pull/39490
https://github.com/hoellen/docker-nextcloud/issues/42
2023-07-25 06:34:32 +02:00
9070495ad0 chore: update Nextcloud to 27.0.1 2023-07-21 00:15:21 +03:00
4ba3589149 chore: update Nextcloud to 27, PHP to 8.2 and Alpine to 3.18 2023-06-13 16:06:23 +02:00
6 changed files with 25 additions and 19 deletions

View File

@ -3,7 +3,7 @@ name: build
on: on:
workflow_dispatch: workflow_dispatch:
push: push:
branches: [ version-26 ] branches: [ master ]
schedule: schedule:
# Build the image regularly (each Friday) # Build the image regularly (each Friday)
- cron: '23 04 * * 5' - cron: '23 04 * * 5'
@ -34,7 +34,7 @@ jobs:
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: 'v2.2.2' cosign-release: 'v1.13.1'
- name: Set up Docker Buildx - name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1 uses: docker/setup-buildx-action@v1
@ -53,6 +53,7 @@ jobs:
with: with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: | tags: |
latest
${{ env.FULL_VERSION }} ${{ env.FULL_VERSION }}
${{ env.MAJOR_VERSION }} ${{ env.MAJOR_VERSION }}
@ -69,4 +70,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 --yes ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}@${{ steps.build-and-push.outputs.digest }} run: cosign sign ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}@${{ steps.build-and-push.outputs.digest }}

View File

@ -1,17 +1,17 @@
# -------------- Build-time variables -------------- # -------------- Build-time variables --------------
ARG NEXTCLOUD_VERSION=26.0.13 ARG NEXTCLOUD_VERSION=27.1.3
ARG PHP_VERSION=8.1 ARG PHP_VERSION=8.2
ARG NGINX_VERSION=1.24 ARG NGINX_VERSION=1.24
ARG ALPINE_VERSION=3.17 ARG ALPINE_VERSION=3.18
ARG HARDENED_MALLOC_VERSION=11 ARG HARDENED_MALLOC_VERSION=11
ARG SNUFFLEUPAGUS_VERSION=0.9.0 ARG SNUFFLEUPAGUS_VERSION=0.10.0
ARG UID=1000 ARG UID=1000
ARG GID=1000 ARG GID=1000
# nextcloud-26.0.13.tar.bz2 # nextcloud-27.1.3.tar.bz2
ARG SHA256_SUM="0a362df7a1233348f99d1853fd7e79f0667b552c145dc45012fab54ac31c79ae" ARG SHA256_SUM="1d614935245e4a375b4ac991c02f323592b753972f86f88763fd80ed7d275793"
# 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"

View File

@ -49,7 +49,7 @@ server {
return 404; return 404;
} }
location ~ ^\/(?:index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+)\.php(?:$|\/) { location ~ ^\/(?:index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|ocs-provider\/.+|.+\/richdocumentscode\/proxy)\.php(?:$|\/) {
include /etc/nginx/fastcgi_params; include /etc/nginx/fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(/.*)$; fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
@ -62,7 +62,7 @@ server {
fastcgi_read_timeout 1200; fastcgi_read_timeout 1200;
} }
location ~ ^\/(?:updater|oc[ms]-provider)(?:$|\/) { location ~ ^\/(?:updater|ocs-provider)(?:$|\/) {
try_files $uri/ =404; try_files $uri/ =404;
index index.php; index index.php;
} }

View File

@ -15,6 +15,15 @@ if [ "$PHP_HARDENING" == "true" ] && [ ! -f /usr/local/etc/php/conf.d/snuffleupa
cp /usr/local/etc/php/snuffleupagus/* /usr/local/etc/php/conf.d cp /usr/local/etc/php/snuffleupagus/* /usr/local/etc/php/conf.d
fi fi
# Check if database is available
if [ ${DB_TYPE} != "sqlite3" ]; then
until nc -z "${DB_HOST:-nextcloud-db}" "${DB_PORT:-3306}"
do
echo "waiting for the database container..."
sleep 1
done
fi
# If new install, run setup # If new install, run setup
if [ ! -f /nextcloud/config/config.php ]; then if [ ! -f /nextcloud/config/config.php ]; then
touch /nextcloud/config/CAN_INSTALL touch /nextcloud/config/CAN_INSTALL

View File

@ -55,14 +55,6 @@ cat >> /nextcloud/config/autoconfig.php <<EOF;
?> ?>
EOF EOF
if [ ${DB_TYPE} != "sqlite3" ]; then
until nc -z "${DB_HOST:-nextcloud-db}" "${DB_PORT:-3306}"
do
echo "waiting for the database container..."
sleep 1
done
fi
echo "Starting automatic configuration..." echo "Starting automatic configuration..."
# Execute setup # Execute setup
(cd /nextcloud; php index.php &>/dev/null) (cd /nextcloud; php index.php &>/dev/null)

View File

@ -47,6 +47,10 @@ sp.disable_function.function("ini_get").param("option").value("open_basedir").fi
sp.disable_function.function("ini_get").param("option").value("allow_url_fopen").filename("/nextcloud/3rdparty/guzzlehttp/guzzle/src/Utils.php").allow(); sp.disable_function.function("ini_get").param("option").value("allow_url_fopen").filename("/nextcloud/3rdparty/guzzlehttp/guzzle/src/Utils.php").allow();
sp.disable_function.function("exec").param("command").value("apachectl -M | grep mpm").filename("/nextcloud/apps2/spreed/lib/Settings/Admin/AdminSettings.php").allow(); sp.disable_function.function("exec").param("command").value("apachectl -M | grep mpm").filename("/nextcloud/apps2/spreed/lib/Settings/Admin/AdminSettings.php").allow();
# Nextcloud inherently enables XXE-Protection since 27.0.1, therefore, drop setting a new external entity loader
sp.disable_function.function("libxml_set_external_entity_loader").filename("/nextcloud/lib/base.php").allow();
sp.disable_function.function("libxml_set_external_entity_loader").drop();
# Harden the `chmod` function (0777 (oct = 511, 0666 = 438) # Harden the `chmod` function (0777 (oct = 511, 0666 = 438)
sp.disable_function.function("chmod").param("permissions").value("438").drop(); sp.disable_function.function("chmod").param("permissions").value("438").drop();
sp.disable_function.function("chmod").param("permissions").value("511").drop(); sp.disable_function.function("chmod").param("permissions").value("511").drop();