Compare commits

...

6 Commits

Author SHA1 Message Date
copilot-swe-agent[bot]
46949e85a7 fix: change oom_score_adj default to 500 and adjust all values by +500
Agent-Logs-Url: https://github.com/nextcloud/all-in-one/sessions/ee392f46-0932-4e7d-9158-3d46eb27beef

Co-authored-by: szaimen <42591237+szaimen@users.noreply.github.com>
2026-05-12 13:04:07 +00:00
copilot-swe-agent[bot]
47a6fd2c0e fix: address review feedback on oom_score_adj
Agent-Logs-Url: https://github.com/nextcloud/all-in-one/sessions/87c4cd21-c405-46fd-b522-b6658f2f3b93

Co-authored-by: szaimen <42591237+szaimen@users.noreply.github.com>
2026-05-12 11:55:07 +00:00
copilot-swe-agent[bot]
374695baae feat: set watchtower oom_score_adj to -800
Agent-Logs-Url: https://github.com/nextcloud/all-in-one/sessions/cc42faee-be3d-4646-9232-f87b001bc065

Co-authored-by: szaimen <42591237+szaimen@users.noreply.github.com>
2026-05-12 11:33:39 +00:00
copilot-swe-agent[bot]
1d9198b8f2 feat: adjust oom_score_adj values and add to schema
Agent-Logs-Url: https://github.com/nextcloud/all-in-one/sessions/cc42faee-be3d-4646-9232-f87b001bc065

Co-authored-by: szaimen <42591237+szaimen@users.noreply.github.com>
2026-05-12 11:33:29 +00:00
copilot-swe-agent[bot]
b0842bf7ea fix: validate oom_score_adj range and only set when non-zero
Agent-Logs-Url: https://github.com/nextcloud/all-in-one/sessions/7d889ade-ce37-4753-9711-16169f4d7252

Co-authored-by: szaimen <42591237+szaimen@users.noreply.github.com>
2026-05-12 10:35:34 +00:00
copilot-swe-agent[bot]
975d32962b feat: add oom_score_adj to all containers with -1000 to 0 range
Agent-Logs-Url: https://github.com/nextcloud/all-in-one/sessions/7d889ade-ce37-4753-9711-16169f4d7252

Co-authored-by: szaimen <42591237+szaimen@users.noreply.github.com>
2026-05-12 10:34:48 +00:00
5 changed files with 53 additions and 19 deletions

View File

@@ -207,7 +207,12 @@
"pattern": "^/[a-z/_0-9-:]+$"
}
},
"volumes": {
"oom_score_adj": {
"type": "integer",
"minimum": -1000,
"maximum": 1000
},
"volumes": {
"type": "array",
"items": {
"type": "object",

View File

@@ -81,7 +81,8 @@
],
"cap_drop": [
"NET_RAW"
]
],
"oom_score_adj": -100
},
{
"container_name": "nextcloud-aio-database",
@@ -138,7 +139,8 @@
],
"cap_drop": [
"NET_RAW"
]
],
"oom_score_adj": -300
},
{
"container_name": "nextcloud-aio-nextcloud",
@@ -280,7 +282,8 @@
],
"cap_drop": [
"NET_RAW"
]
],
"oom_score_adj": -100
},
{
"container_name": "nextcloud-aio-notify-push",
@@ -321,7 +324,8 @@
"read_only": true,
"cap_drop": [
"NET_RAW"
]
],
"oom_score_adj": 100
},
{
"container_name": "nextcloud-aio-redis",
@@ -363,7 +367,8 @@
"read_only": true,
"cap_drop": [
"NET_RAW"
]
],
"oom_score_adj": -300
},
{
"container_name": "nextcloud-aio-collabora",
@@ -413,7 +418,8 @@
],
"cap_drop": [
"NET_RAW"
]
],
"oom_score_adj": 300
},
{
"container_name": "nextcloud-aio-talk",
@@ -484,7 +490,8 @@
],
"cap_drop": [
"NET_RAW"
]
],
"oom_score_adj": 300
},
{
"container_name": "nextcloud-aio-talk-recording",
@@ -538,7 +545,8 @@
],
"cap_drop": [
"NET_RAW"
]
],
"oom_score_adj": 300
},
{
"container_name": "nextcloud-aio-borgbackup",
@@ -609,7 +617,8 @@
"tmpfs": [
"/tmp",
"/nextcloud_aio_volumes"
]
],
"oom_score_adj": -300
},
{
"container_name": "nextcloud-aio-watchtower",
@@ -632,7 +641,8 @@
"read_only": true,
"cap_drop": [
"NET_RAW"
]
],
"oom_score_adj": -300
},
{
"container_name": "nextcloud-aio-domaincheck",
@@ -665,7 +675,8 @@
],
"cap_drop": [
"NET_RAW"
]
],
"oom_score_adj": 300
},
{
"container_name": "nextcloud-aio-clamav",
@@ -712,7 +723,8 @@
],
"cap_drop": [
"NET_RAW"
]
],
"oom_score_adj": 300
},
{
"container_name": "nextcloud-aio-onlyoffice",
@@ -756,7 +768,8 @@
],
"cap_drop": [
"NET_RAW"
]
],
"oom_score_adj": 300
},
{
"container_name": "nextcloud-aio-imaginary",
@@ -798,7 +811,8 @@
],
"secrets": [
"IMAGINARY_SECRET"
]
],
"oom_score_adj": 300
},
{
"container_name": "nextcloud-aio-fulltextsearch",
@@ -850,7 +864,8 @@
],
"cap_drop": [
"NET_RAW"
]
],
"oom_score_adj": 300
},
{
"container_name": "nextcloud-aio-docker-socket-proxy",
@@ -877,7 +892,8 @@
],
"cap_drop": [
"NET_RAW"
]
],
"oom_score_adj": 100
},
{
"container_name": "nextcloud-aio-harp",
@@ -918,7 +934,8 @@
],
"cap_drop": [
"NET_RAW"
]
],
"oom_score_adj": 100
},
{
"container_name": "nextcloud-aio-whiteboard",
@@ -964,7 +981,8 @@
"read_only": true,
"cap_drop": [
"NET_RAW"
]
],
"oom_score_adj": 300
}
]
}

View File

@@ -39,6 +39,7 @@ readonly class Container {
public AioVariables $aioVariables,
public string $documentation,
public bool $hideFromList,
public int $oomScoreAdj,
private DockerActionManager $dockerActionManager
) {
}

View File

@@ -345,6 +345,11 @@ readonly class ContainerDefinitionFetcher {
$hideFromList = $entry['hide_from_list'] ?? false;
$oomScoreAdj = 500;
if (isset($entry['oom_score_adj'])) {
$oomScoreAdj = $entry['oom_score_adj'];
}
$containers[] = new Container(
$entry['container_name'],
$displayName,
@@ -371,6 +376,7 @@ readonly class ContainerDefinitionFetcher {
$aioVariables,
$documentation,
$hideFromList,
$oomScoreAdj,
$this->container->get(DockerActionManager::class)
);
}

View File

@@ -394,6 +394,10 @@ readonly class DockerActionManager {
$requestBody['StopTimeout'] = $maxShutDownTime;
}
if ($container->oomScoreAdj !== 0) {
$requestBody['HostConfig']['OomScoreAdj'] = $container->oomScoreAdj;
}
$capAdds = $container->capAdd;
if (count($capAdds) > 0) {
$requestBody['HostConfig']['CapAdd'] = $capAdds;