Compare commits

..

7 Commits

Author SHA1 Message Date
copilot-swe-agent[bot]
1f86bc2aae fix: prevent mastercontainer race condition and add AIO_LOG_LEVEL defaults in container scripts
Agent-Logs-Url: https://github.com/nextcloud/all-in-one/sessions/1b34e6db-7e7c-426e-addf-cce3ef7c5944

Co-authored-by: szaimen <42591237+szaimen@users.noreply.github.com>
2026-05-15 13:11:47 +00:00
Simon L.
0a553459ab build(deps): bump python from 3.14.3-alpine3.23 to 3.14.5-alpine3.23 in /Containers/talk-recording (#8107) 2026-05-15 09:01:25 +02:00
Simon L.
f42e669704 build(deps): bump postgres from 18.3-alpine to 18.4-alpine in /Containers/postgresql (#8106) 2026-05-15 09:01:05 +02:00
dependabot[bot]
483d562b20 build(deps): bump python in /Containers/talk-recording
Bumps python from 3.14.3-alpine3.23 to 3.14.5-alpine3.23.

---
updated-dependencies:
- dependency-name: python
  dependency-version: 3.14.5-alpine3.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-15 04:24:00 +00:00
dependabot[bot]
5a77d4e842 build(deps): bump postgres in /Containers/postgresql
Bumps postgres from 18.3-alpine to 18.4-alpine.

---
updated-dependencies:
- dependency-name: postgres
  dependency-version: 18.4-alpine
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-15 04:23:40 +00:00
Simon L.
c5b853e50b PHP dependency updates (#8100) 2026-05-14 21:36:05 +02:00
szaimen
2a757d3d66 php dependency updates
Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2026-05-14 12:33:14 +00:00
16 changed files with 76 additions and 27 deletions

View File

@@ -4,6 +4,9 @@ if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
fi
# Defensive default: ensure AIO_LOG_LEVEL is never empty so log-level mappings below always resolve correctly
AIO_LOG_LEVEL="${AIO_LOG_LEVEL:-warn}"
if [ "$AIO_LOG_LEVEL" = "warn" ]; then
BORG_LOG_LEVEL_FLAG="--warning"
else

View File

@@ -4,6 +4,9 @@ if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
fi
# Defensive default: ensure AIO_LOG_LEVEL is never empty so log-level mappings below always resolve correctly
AIO_LOG_LEVEL="${AIO_LOG_LEVEL:-warn}"
if [ "$AIO_LOG_LEVEL" = "warn" ]; then
COLLABORA_LOG_LEVEL="warning"
elif [ "$AIO_LOG_LEVEL" = "info" ]; then

View File

@@ -4,6 +4,9 @@ if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
fi
# Defensive default: ensure AIO_LOG_LEVEL is never empty so log-level mappings below always resolve correctly
AIO_LOG_LEVEL="${AIO_LOG_LEVEL:-warn}"
ELASTIC_LOG_LEVEL="$(echo "$AIO_LOG_LEVEL" | tr '[:lower:]' '[:upper:]')"
exec env "logger.level=$ELASTIC_LOG_LEVEL" /usr/local/bin/docker-entrypoint.sh "$@"

View File

@@ -4,11 +4,15 @@ if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
fi
# Defensive default: ensure AIO_LOG_LEVEL is never empty so log-level mappings below always resolve correctly
AIO_LOG_LEVEL="${AIO_LOG_LEVEL:-warn}"
GOLANG_LOG="$(case "$AIO_LOG_LEVEL" in
debug) printf 'info' ;;
info) printf 'info' ;;
warn) printf 'warning' ;;
error) printf 'error' ;;
*) printf 'warning' ;;
esac)"
export GOLANG_LOG
if [ "$AIO_LOG_LEVEL" = "debug" ]; then

View File

@@ -59,6 +59,15 @@ fi
# Wait for watchtower to stop
if [ "$AUTOMATIC_UPDATES" = 1 ]; then
# Give Docker time to register the container as running before checking for it.
# Without this, there is a race condition where the check below runs before watchtower
# appears in `docker ps`, causing the script to skip the wait and continue with
# the potentially outdated mastercontainer code while watchtower is still updating it.
count=0
while ! docker ps --format "{{.Names}}" | grep -q "^nextcloud-aio-watchtower$" && [ "$count" -lt 12 ]; do
sleep 5
count=$((count + 1))
done
if ! docker ps --format "{{.Names}}" | grep -q "^nextcloud-aio-watchtower$"; then
echo "Something seems to be wrong: Watchtower should be started at this step."
fi

View File

@@ -14,6 +14,9 @@ if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
fi
# Defensive default: ensure AIO_LOG_LEVEL is never empty so log-level mappings below always resolve correctly
AIO_LOG_LEVEL="${AIO_LOG_LEVEL:-warn}"
run_upgrade_if_needed_due_to_app_update() {
if php /var/www/html/occ status | grep maintenance | grep -q true; then
php /var/www/html/occ maintenance:mode --off
@@ -29,6 +32,7 @@ NEXTCLOUD_LOG_LEVEL="$(case "$AIO_LOG_LEVEL" in
info) printf '1' ;;
warn) printf '2' ;;
error) printf '3' ;;
*) printf '2' ;;
esac)"
export NEXTCLOUD_LOG_LEVEL

View File

@@ -4,6 +4,9 @@ if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
fi
# Defensive default: ensure AIO_LOG_LEVEL is never empty so log-level mappings below always resolve correctly
AIO_LOG_LEVEL="${AIO_LOG_LEVEL:-warn}"
export RUST_LOG="$AIO_LOG_LEVEL"
if [ -z "$NEXTCLOUD_HOST" ]; then

View File

@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:latest
# From https://github.com/docker-library/postgres/blob/master/18/alpine3.23/Dockerfile
FROM postgres:18.3-alpine
FROM postgres:18.4-alpine
ENV PGDATA=/var/lib/postgresql/data

View File

@@ -4,6 +4,9 @@ if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
fi
# Defensive default: ensure AIO_LOG_LEVEL is never empty so log-level mappings below always resolve correctly
AIO_LOG_LEVEL="${AIO_LOG_LEVEL:-warn}"
POSTGRES_LOG_MIN_MESSAGES="$(case "$AIO_LOG_LEVEL" in
debug) printf 'debug1' ;;
info) printf 'info' ;;

View File

@@ -4,6 +4,9 @@ if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
fi
# Defensive default: ensure AIO_LOG_LEVEL is never empty so log-level mappings below always resolve correctly
AIO_LOG_LEVEL="${AIO_LOG_LEVEL:-warn}"
# Redis only supports [debug, verbose, notice, warning, nothing] as log level
if [ "$AIO_LOG_LEVEL" = "warn" ] || [ "$AIO_LOG_LEVEL" = "error" ]; then
REDIS_LOG_LEVEL="warning"

View File

@@ -1,5 +1,5 @@
# syntax=docker/dockerfile:latest
FROM python:3.14.3-alpine3.23
FROM python:3.14.5-alpine3.23
COPY --chmod=775 start.sh /start.sh
COPY --chmod=775 healthcheck.sh /healthcheck.sh

View File

@@ -4,11 +4,15 @@ if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
fi
# Defensive default: ensure AIO_LOG_LEVEL is never empty so log-level mappings below always resolve correctly
AIO_LOG_LEVEL="${AIO_LOG_LEVEL:-warn}"
TALK_RECORDING_LOG_LEVEL="$(case "$AIO_LOG_LEVEL" in
debug) printf '10' ;;
info) printf '20' ;;
warn) printf '30' ;;
error) printf '40' ;;
*) printf '30' ;;
esac)"
export TALK_RECORDING_LOG_LEVEL

View File

@@ -4,6 +4,9 @@ if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
fi
# Defensive default: ensure AIO_LOG_LEVEL is never empty so log-level mappings below always resolve correctly
AIO_LOG_LEVEL="${AIO_LOG_LEVEL:-warn}"
if [ "$AIO_LOG_LEVEL" = "warn" ]; then
ETURNAL_LOG_LEVEL="warning"
else
@@ -15,6 +18,7 @@ JANUS_LOG_LEVEL="$(case "$AIO_LOG_LEVEL" in
info) printf '4' ;;
warn) printf '3' ;;
error) printf '1' ;;
*) printf '3' ;;
esac)"
export JANUS_LOG_LEVEL

View File

@@ -4,6 +4,9 @@ if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
fi
# Defensive default: ensure AIO_LOG_LEVEL is never empty so log-level mappings below always resolve correctly
AIO_LOG_LEVEL="${AIO_LOG_LEVEL:-warn}"
# Check if socket is available and readable
if ! [ -e "/var/run/docker.sock" ]; then
echo "Docker socket is not available. Cannot continue."

View File

@@ -4,6 +4,9 @@ if [ "$AIO_LOG_LEVEL" = 'debug' ]; then
set -x
fi
# Defensive default: ensure AIO_LOG_LEVEL is never empty so log-level mappings below always resolve correctly
AIO_LOG_LEVEL="${AIO_LOG_LEVEL:-warn}"
export LOG_LEVEL="$AIO_LOG_LEVEL"
# Only start container if nextcloud is accessible

50
php/composer.lock generated
View File

@@ -3847,16 +3847,16 @@
},
{
"name": "sebastian/diff",
"version": "8.1.0",
"version": "8.2.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
"reference": "9c957d730257f49c873f3761674559bd90098a7d"
"reference": "cce1bb200e0062e72f9b85ccfe54d3fd38bbd044"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/9c957d730257f49c873f3761674559bd90098a7d",
"reference": "9c957d730257f49c873f3761674559bd90098a7d",
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/cce1bb200e0062e72f9b85ccfe54d3fd38bbd044",
"reference": "cce1bb200e0062e72f9b85ccfe54d3fd38bbd044",
"shasum": ""
},
"require": {
@@ -3869,7 +3869,7 @@
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "8.1-dev"
"dev-main": "8.2-dev"
}
},
"autoload": {
@@ -3902,7 +3902,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/diff/issues",
"security": "https://github.com/sebastianbergmann/diff/security/policy",
"source": "https://github.com/sebastianbergmann/diff/tree/8.1.0"
"source": "https://github.com/sebastianbergmann/diff/tree/8.2.1"
},
"funding": [
{
@@ -3922,7 +3922,7 @@
"type": "tidelift"
}
],
"time": "2026-04-05T12:02:33+00:00"
"time": "2026-05-14T05:24:37+00:00"
},
{
"name": "spatie/array-to-xml",
@@ -4052,16 +4052,16 @@
},
{
"name": "symfony/console",
"version": "v6.4.37",
"version": "v6.4.39",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
"reference": "7bbcaf3fdb1e18fa42a7f0b84a10d091c10548f5"
"reference": "c132f1215fe4aa45b70173cc00ce9a755dd31ec5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/7bbcaf3fdb1e18fa42a7f0b84a10d091c10548f5",
"reference": "7bbcaf3fdb1e18fa42a7f0b84a10d091c10548f5",
"url": "https://api.github.com/repos/symfony/console/zipball/c132f1215fe4aa45b70173cc00ce9a755dd31ec5",
"reference": "c132f1215fe4aa45b70173cc00ce9a755dd31ec5",
"shasum": ""
},
"require": {
@@ -4126,7 +4126,7 @@
"terminal"
],
"support": {
"source": "https://github.com/symfony/console/tree/v6.4.37"
"source": "https://github.com/symfony/console/tree/v6.4.39"
},
"funding": [
{
@@ -4146,20 +4146,20 @@
"type": "tidelift"
}
],
"time": "2026-04-13T15:27:04+00:00"
"time": "2026-05-12T06:50:03+00:00"
},
{
"name": "symfony/filesystem",
"version": "v8.0.9",
"version": "v8.0.11",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
"reference": "d1ec4543d5c6c2dac78503c2fae5ea0b3608ce40"
"reference": "224db910898ce1317b892a9a1338f1f8f17eb7c7"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/d1ec4543d5c6c2dac78503c2fae5ea0b3608ce40",
"reference": "d1ec4543d5c6c2dac78503c2fae5ea0b3608ce40",
"url": "https://api.github.com/repos/symfony/filesystem/zipball/224db910898ce1317b892a9a1338f1f8f17eb7c7",
"reference": "224db910898ce1317b892a9a1338f1f8f17eb7c7",
"shasum": ""
},
"require": {
@@ -4196,7 +4196,7 @@
"description": "Provides basic utilities for the filesystem",
"homepage": "https://symfony.com",
"support": {
"source": "https://github.com/symfony/filesystem/tree/v8.0.9"
"source": "https://github.com/symfony/filesystem/tree/v8.0.11"
},
"funding": [
{
@@ -4216,7 +4216,7 @@
"type": "tidelift"
}
],
"time": "2026-04-18T13:51:42+00:00"
"time": "2026-05-11T16:39:47+00:00"
},
{
"name": "symfony/finder",
@@ -4622,16 +4622,16 @@
},
{
"name": "symfony/string",
"version": "v7.4.8",
"version": "v7.4.11",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
"reference": "114ac57257d75df748eda23dd003878080b8e688"
"reference": "965f7306a43383d02c6aca1e3f3bd2f0ea5dee15"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/114ac57257d75df748eda23dd003878080b8e688",
"reference": "114ac57257d75df748eda23dd003878080b8e688",
"url": "https://api.github.com/repos/symfony/string/zipball/965f7306a43383d02c6aca1e3f3bd2f0ea5dee15",
"reference": "965f7306a43383d02c6aca1e3f3bd2f0ea5dee15",
"shasum": ""
},
"require": {
@@ -4689,7 +4689,7 @@
"utf8"
],
"support": {
"source": "https://github.com/symfony/string/tree/v7.4.8"
"source": "https://github.com/symfony/string/tree/v7.4.11"
},
"funding": [
{
@@ -4709,7 +4709,7 @@
"type": "tidelift"
}
],
"time": "2026-03-24T13:12:05+00:00"
"time": "2026-05-13T12:04:42+00:00"
},
{
"name": "vimeo/psalm",