allow to adjust the log level globally

Signed-off-by: Simon L. <szaimen@e.mail.de>
This commit is contained in:
Simon L.
2026-04-17 15:17:30 +02:00
parent c20bae5a0f
commit 74ec1b6baa
8 changed files with 66 additions and 7 deletions

View File

@@ -45,6 +45,7 @@
"COLLABORA_HOST=nextcloud-aio-collabora",
"TALK_HOST=nextcloud-aio-talk",
"APACHE_PORT=%APACHE_PORT%",
"AIO_LOG_LEVEL=%AIO_LOG_LEVEL%",
"ONLYOFFICE_HOST=nextcloud-aio-onlyoffice",
"TZ=%TIMEZONE%",
"APACHE_MAX_SIZE=%APACHE_MAX_SIZE%",
@@ -120,6 +121,7 @@
"POSTGRES_PASSWORD=%DATABASE_PASSWORD%",
"POSTGRES_DB=nextcloud_database",
"POSTGRES_USER=nextcloud",
"AIO_LOG_LEVEL=%AIO_LOG_LEVEL%",
"TZ=%TIMEZONE%",
"PGTZ=%TIMEZONE%"
],
@@ -222,6 +224,7 @@
"SIGNALING_SECRET=%SIGNALING_SECRET%",
"ONLYOFFICE_SECRET=%ONLYOFFICE_SECRET%",
"AIO_URL=%AIO_URL%",
"AIO_LOG_LEVEL=%AIO_LOG_LEVEL%",
"NC_AIO_VERSION=v%AIO_VERSION%",
"NEXTCLOUD_MOUNT=%NEXTCLOUD_MOUNT%",
"CLAMAV_ENABLED=%CLAMAV_ENABLED%",
@@ -311,6 +314,7 @@
],
"environment": [
"NEXTCLOUD_HOST=nextcloud-aio-nextcloud",
"AIO_LOG_LEVEL=%AIO_LOG_LEVEL%",
"TZ=%TIMEZONE%"
],
"restart": "unless-stopped",
@@ -340,6 +344,7 @@
"internal_port": "6379",
"environment": [
"REDIS_HOST_PASSWORD=%REDIS_PASSWORD%",
"AIO_LOG_LEVEL=%AIO_LOG_LEVEL%",
"TZ=%TIMEZONE%"
],
"volumes": [
@@ -381,8 +386,9 @@
"internal_port": "9980",
"environment": [
"aliasgroup1=https://%NC_DOMAIN%:443,http://nextcloud-aio-apache.nextcloud-aio:23973",
"extra_params=--o:ssl.enable=false --o:ssl.termination=true --o:logging.disable_server_audit=true --o:logging.level=warning --o:logging.level_startup=warning --o:welcome.enable=false --o:fetch_update_check=0 --o:allow_update_popup=false %COLLABORA_SECCOMP_POLICY% --o:remote_font_config.url=https://%NC_DOMAIN%/apps/richdocuments/settings/fonts.json --o:net.post_allow.host[0]=.+",
"extra_params=--o:ssl.enable=false --o:ssl.termination=true --o:logging.disable_server_audit=true --o:logging.level=%COLLABORA_LOG_LEVEL% --o:logging.level_startup=%COLLABORA_LOG_LEVEL% --o:welcome.enable=false --o:fetch_update_check=0 --o:allow_update_popup=false %COLLABORA_SECCOMP_POLICY% --o:remote_font_config.url=https://%NC_DOMAIN%/apps/richdocuments/settings/fonts.json --o:net.post_allow.host[0]=.+",
"dictionaries=%COLLABORA_DICTIONARIES%",
"AIO_LOG_LEVEL=%AIO_LOG_LEVEL%",
"TZ=%TIMEZONE%",
"server_name=%NC_DOMAIN%",
"DONT_GEN_SSL_CERT=1"
@@ -453,6 +459,7 @@
"TALK_HOST=nextcloud-aio-talk",
"TURN_SECRET=%TURN_SECRET%",
"SIGNALING_SECRET=%SIGNALING_SECRET%",
"AIO_LOG_LEVEL=%AIO_LOG_LEVEL%",
"TZ=%TIMEZONE%",
"TALK_PORT=%TALK_PORT%",
"INTERNAL_SECRET=%TALK_INTERNAL_SECRET%"
@@ -500,6 +507,7 @@
"internal_port": "1234",
"environment": [
"NC_DOMAIN=%NC_DOMAIN%",
"AIO_LOG_LEVEL=%AIO_LOG_LEVEL%",
"TZ=%TIMEZONE%",
"RECORDING_SECRET=%RECORDING_SECRET%",
"INTERNAL_SECRET=%TALK_INTERNAL_SECRET%"
@@ -543,6 +551,7 @@
"BORG_REMOTE_REPO=%BORGBACKUP_REMOTE_REPO%",
"BORG_PASSWORD=%BORGBACKUP_PASSWORD%",
"BORG_MODE=%BORGBACKUP_MODE%",
"AIO_LOG_LEVEL=%AIO_LOG_LEVEL%",
"SELECTED_RESTORE_TIME=%SELECTED_RESTORE_TIME%",
"RESTORE_EXCLUDE_PREVIEWS=%RESTORE_EXCLUDE_PREVIEWS%",
"BACKUP_RESTORE_PASSWORD=%BACKUP_RESTORE_PASSWORD%",
@@ -610,7 +619,8 @@
"image": "ghcr.io/nextcloud-releases/aio-watchtower",
"init": true,
"environment": [
"CONTAINER_TO_UPDATE=nextcloud-aio-mastercontainer"
"CONTAINER_TO_UPDATE=nextcloud-aio-mastercontainer",
"AIO_LOG_LEVEL=%AIO_LOG_LEVEL%"
],
"volumes": [
{
@@ -641,7 +651,8 @@
"internal_port": "%APACHE_PORT%",
"environment": [
"INSTANCE_ID=%INSTANCE_ID%",
"APACHE_PORT=%APACHE_PORT%"
"APACHE_PORT=%APACHE_PORT%",
"AIO_LOG_LEVEL=%AIO_LOG_LEVEL%"
],
"secrets": [
"INSTANCE_ID"
@@ -676,6 +687,7 @@
],
"internal_port": "3310",
"environment": [
"AIO_LOG_LEVEL=%AIO_LOG_LEVEL%",
"TZ=%TIMEZONE%",
"MAX_SIZE=%NEXTCLOUD_UPLOAD_LIMIT%"
],
@@ -721,6 +733,8 @@
],
"internal_port": "80",
"environment": [
"AIO_LOG_LEVEL=%AIO_LOG_LEVEL%",
"LOG_LEVEL=%AIO_LOG_LEVEL%",
"TZ=%TIMEZONE%",
"JWT_ENABLED=true",
"JWT_HEADER=AuthorizationJwt",
@@ -764,6 +778,7 @@
],
"internal_port": "9000",
"environment": [
"AIO_LOG_LEVEL=%AIO_LOG_LEVEL%",
"TZ=%TIMEZONE%",
"IMAGINARY_SECRET=%IMAGINARY_SECRET%"
],
@@ -805,12 +820,13 @@
],
"internal_port": "9200",
"environment": [
"AIO_LOG_LEVEL=%AIO_LOG_LEVEL%",
"TZ=%TIMEZONE%",
"ES_JAVA_OPTS=%FULLTEXTSEARCH_JAVA_OPTIONS%",
"bootstrap.memory_lock=false",
"cluster.name=nextcloud-aio",
"discovery.type=single-node",
"logger.level=WARN",
"logger.level=%ELASTIC_LOG_LEVEL%",
"http.port=9200",
"xpack.license.self_generated.type=basic",
"xpack.security.enabled=false",
@@ -845,6 +861,7 @@
"init": true,
"internal_port": "2375",
"environment": [
"AIO_LOG_LEVEL=%AIO_LOG_LEVEL%",
"TZ=%TIMEZONE%"
],
"volumes": [
@@ -876,7 +893,7 @@
"environment": [
"HP_SHARED_KEY=%HP_SHARED_KEY%",
"NC_INSTANCE_URL=https://%NC_DOMAIN%",
"HP_LOG_LEVEL=warning",
"HP_LOG_LEVEL=%COLLABORA_LOG_LEVEL%",
"HP_FRP_DISABLE_TLS=true",
"TZ=%TIMEZONE%"
],
@@ -928,6 +945,7 @@
],
"internal_port": "3002",
"environment": [
"AIO_LOG_LEVEL=%AIO_LOG_LEVEL%",
"TZ=%TIMEZONE%",
"NEXTCLOUD_URL=https://%NC_DOMAIN%",
"JWT_SECRET_KEY=%WHITEBOARD_SECRET%",

View File

@@ -253,6 +253,11 @@ class ConfigurationManager
set { $this->set('docker_socket_path', $value); }
}
public string $aioLogLevel {
get => $this->getEnvironmentalVariableOrConfig('AIO_LOG_LEVEL', 'aio_log_level', 'warn');
set { $this->set('aio_log_level', $value); }
}
public string $trustedCacertsDir {
get => $this->getEnvironmentalVariableOrConfig('NEXTCLOUD_TRUSTED_CACERTS_DIR', 'trusted_cacerts_dir', '');
set { $this->set('trusted_cacerts_dir', $value); }
@@ -1065,6 +1070,9 @@ class ConfigurationManager
'NC_DOMAIN' => $this->domain,
'NC_BASE_DN' => $this->getBaseDN(),
'AIO_TOKEN' => $this->aioToken,
'AIO_LOG_LEVEL' => $this->aioLogLevel,
'COLLABORA_LOG_LEVEL' => $this->getCollaboraLogLevel(),
'ELASTIC_LOG_LEVEL' => $this->getElasticLogLevel(),
'BORGBACKUP_REMOTE_REPO' => $this->borgRemoteRepo,
'BORGBACKUP_MODE' => $this->backupMode,
'AIO_URL' => $this->aioUrl,
@@ -1112,6 +1120,22 @@ class ConfigurationManager
default => $this->getRegisteredSecret($placeholder),
};
}
private function getCollaboraLogLevel() : string {
return match ($this->aioLogLevel) {
'warn' => 'warning',
default => $this->aioLogLevel,
};
}
private function getElasticLogLevel() : string {
return match ($this->aioLogLevel) {
'debug' => 'DEBUG',
'info' => 'INFO',
'error' => 'ERROR',
default => 'WARN',
};
}
private function booleanize(mixed $value) : bool {
return in_array($value, [true, 'true'], true);