diff --git a/manual-install/update-yaml.sh b/manual-install/update-yaml.sh
index 9f6836a9..ad62aaa9 100644
--- a/manual-install/update-yaml.sh
+++ b/manual-install/update-yaml.sh
@@ -5,7 +5,7 @@ sed -i 's|","location":"|:|g' /tmp/containers.json
sed -i 's|","writeable":false|:ro"|g' /tmp/containers.json
sed -i 's|","writeable":true|:rw"|g' /tmp/containers.json
OUTPUT="$(cat /tmp/containers.json)"
-OUTPUT="$(echo "$OUTPUT" | jq 'del(.services[].internal_ports)')"
+OUTPUT="$(echo "$OUTPUT" | jq 'del(.services[].internal_port)')"
OUTPUT="$(echo "$OUTPUT" | jq 'del(.services[].secrets)')"
OUTPUT="$(echo "$OUTPUT" | jq 'del(.services[] | select(.container_name == "nextcloud-aio-watchtower"))')"
OUTPUT="$(echo "$OUTPUT" | jq 'del(.services[] | select(.container_name == "nextcloud-aio-domaincheck"))')"
diff --git a/php/containers-schema.json b/php/containers-schema.json
index dfab68c3..1fceab26 100644
--- a/php/containers-schema.json
+++ b/php/containers-schema.json
@@ -32,11 +32,8 @@
"container_name": {
"type": "string"
},
- "internal_ports": {
- "type": "array",
- "items": {
- "type": "string"
- }
+ "internal_port": {
+ "type": "string"
},
"stop_grace_period": {
"type": "integer"
diff --git a/php/containers.json b/php/containers.json
index 2ff1b4ed..2f49c6de 100644
--- a/php/containers.json
+++ b/php/containers.json
@@ -13,9 +13,7 @@
"ports": [
"%APACHE_PORT%/tcp"
],
- "internal_ports": [
- "%APACHE_PORT%"
- ],
+ "internal_port": "%APACHE_PORT%",
"secrets": [],
"environment": [
"NC_DOMAIN=%NC_DOMAIN%",
@@ -49,9 +47,7 @@
"display_name": "Database",
"image": "nextcloud/aio-postgresql",
"ports": [],
- "internal_ports": [
- "5432"
- ],
+ "internal_port": "5432",
"secrets": [
"DATABASE_PASSWORD"
],
@@ -89,9 +85,7 @@
"display_name": "Nextcloud",
"image": "nextcloud/aio-nextcloud",
"ports": [],
- "internal_ports": [
- "9000"
- ],
+ "internal_port": "9000",
"secrets": [
"DATABASE_PASSWORD",
"REDIS_PASSWORD",
@@ -171,9 +165,7 @@
"display_name": "Redis",
"image": "nextcloud/aio-redis",
"ports": [],
- "internal_ports": [
- "6379"
- ],
+ "internal_port": "6379",
"environment": [
"REDIS_HOST_PASSWORD=%REDIS_PASSWORD%",
"TZ=%TIMEZONE%"
@@ -198,9 +190,7 @@
"display_name": "Collabora",
"image": "nextcloud/aio-collabora",
"ports": [],
- "internal_ports": [
- "9980"
- ],
+ "internal_port": "9980",
"environment": [
"aliasgroup1=https://%NC_DOMAIN%:443",
"extra_params=--o:ssl.enable=false --o:ssl.termination=true --o:logging.level=warning --o:home_mode.enable=true %COLLABORA_SECCOMP_POLICY%",
@@ -227,9 +217,7 @@
"%TALK_PORT%/tcp",
"%TALK_PORT%/udp"
],
- "internal_ports": [
- "%TALK_PORT%"
- ],
+ "internal_port": "%TALK_PORT%",
"environment": [
"NC_DOMAIN=%NC_DOMAIN%",
"TURN_SECRET=%TURN_SECRET%",
@@ -253,7 +241,7 @@
"display_name": "Borgbackup",
"image": "nextcloud/aio-borgbackup",
"ports": [],
- "internal_ports": [],
+ "internal_port": "",
"environment": [
"BORG_PASSWORD=%BORGBACKUP_PASSWORD%",
"BORG_MODE=%BORGBACKUP_MODE%",
@@ -326,7 +314,7 @@
"display_name": "Watchtower",
"image": "nextcloud/aio-watchtower",
"ports": [],
- "internal_ports": [],
+ "internal_port": "",
"environment": [
"CONTAINER_TO_UPDATE=nextcloud-aio-mastercontainer"
],
@@ -349,7 +337,7 @@
"ports": [
"%APACHE_PORT%/tcp"
],
- "internal_ports": [],
+ "internal_port": "",
"environment": [
"INSTANCE_ID=%INSTANCE_ID%",
"APACHE_PORT=%APACHE_PORT%"
@@ -367,9 +355,7 @@
"display_name": "ClamAV",
"image": "nextcloud/aio-clamav",
"ports": [],
- "internal_ports": [
- "3310"
- ],
+ "internal_port": "3310",
"environment": [
"TZ=%TIMEZONE%",
"CLAMD_STARTUP_TIMEOUT=90"
@@ -391,9 +377,7 @@
"display_name": "OnlyOffice",
"image": "nextcloud/aio-onlyoffice",
"ports": [],
- "internal_ports": [
- "80"
- ],
+ "internal_port": "80",
"environment": [
"TZ=%TIMEZONE%",
"JWT_ENABLED=true",
@@ -419,9 +403,7 @@
"display_name": "Imaginary",
"image": "nextcloud/aio-imaginary",
"ports": [],
- "internal_ports": [
- "9000"
- ],
+ "internal_port": "9000",
"environment": [
"TZ=%TIMEZONE%"
],
@@ -436,9 +418,7 @@
"display_name": "Fulltextsearch",
"image": "nextcloud/aio-fulltextsearch",
"ports": [],
- "internal_ports": [
- "9200"
- ],
+ "internal_port": "9200",
"environment": [
"TZ=%TIMEZONE%",
"discovery.type=single-node",
diff --git a/php/psalm-baseline.xml b/php/psalm-baseline.xml
index e62c34f0..ce18679f 100644
--- a/php/psalm-baseline.xml
+++ b/php/psalm-baseline.xml
@@ -46,7 +46,7 @@
$internalPort
- $container->GetInternalPorts() !== null
+ $container->GetInternalPort() !== null
diff --git a/php/src/Container/Container.php b/php/src/Container/Container.php
index c1330da3..9697911b 100644
--- a/php/src/Container/Container.php
+++ b/php/src/Container/Container.php
@@ -14,7 +14,7 @@ class Container {
private string $restartPolicy;
private int $maxShutdownTime;
private ContainerPorts $ports;
- private ContainerInternalPorts $internalPorts;
+ private string $internalPorts;
private ContainerVolumes $volumes;
private ContainerEnvironmentVariables $containerEnvironmentVariables;
/** @var string[] */
@@ -30,7 +30,7 @@ class Container {
string $restartPolicy,
int $maxShutdownTime,
ContainerPorts $ports,
- ContainerInternalPorts $internalPorts,
+ string $internalPorts,
ContainerVolumes $volumes,
ContainerEnvironmentVariables $containerEnvironmentVariables,
array $dependsOn,
@@ -79,7 +79,7 @@ class Container {
return $this->ports;
}
- public function GetInternalPorts() : ContainerInternalPorts {
+ public function GetInternalPort() : string {
return $this->internalPorts;
}
diff --git a/php/src/Container/ContainerInternalPorts.php b/php/src/Container/ContainerInternalPorts.php
deleted file mode 100644
index fb0716bf..00000000
--- a/php/src/Container/ContainerInternalPorts.php
+++ /dev/null
@@ -1,19 +0,0 @@
-internalPorts[] = $internalPort;
- }
-
- /**
- * @return string[]
- */
- public function GetInternalPorts() : array {
- return $this->internalPorts;
- }
-}
diff --git a/php/src/ContainerDefinitionFetcher.php b/php/src/ContainerDefinitionFetcher.php
index 0d93f4b5..8a5341bf 100644
--- a/php/src/ContainerDefinitionFetcher.php
+++ b/php/src/ContainerDefinitionFetcher.php
@@ -5,7 +5,6 @@ namespace AIO;
use AIO\Container\Container;
use AIO\Container\ContainerEnvironmentVariables;
use AIO\Container\ContainerPorts;
-use AIO\Container\ContainerInternalPorts;
use AIO\Container\ContainerVolume;
use AIO\Container\ContainerVolumes;
use AIO\Container\State\RunningState;
@@ -87,14 +86,10 @@ class ContainerDefinitionFetcher
$ports->AddPort($port);
}
- $internalPorts = new ContainerInternalPorts();
- foreach ($entry['internal_ports'] as $internalPort) {
- if($internalPort === '%APACHE_PORT%') {
- $internalPort = $this->configurationManager->GetApachePort();
- } elseif($internalPort === '%TALK_PORT%') {
- $internalPort = $this->configurationManager->GetTalkPort();
- }
- $internalPorts->AddInternalPort($internalPort);
+ if($entry['internal_port'] === '%APACHE_PORT%') {
+ $entry['internal_port'] = $this->configurationManager->GetApachePort();
+ } elseif($entry['internal_port'] === '%TALK_PORT%') {
+ $entry['internal_port'] = $this->configurationManager->GetTalkPort();
}
$volumes = new ContainerVolumes();
@@ -183,7 +178,7 @@ class ContainerDefinitionFetcher
$entry['restart'],
$entry['stop_grace_period'],
$ports,
- $internalPorts,
+ $entry['internal_port'],
$volumes,
$variables,
$dependsOn,
diff --git a/php/src/Docker/DockerActionManager.php b/php/src/Docker/DockerActionManager.php
index 9550dd44..eed07c35 100644
--- a/php/src/Docker/DockerActionManager.php
+++ b/php/src/Docker/DockerActionManager.php
@@ -124,15 +124,13 @@ class DockerActionManager
}
$containerName = $container->GetIdentifier();
- if ($container->GetInternalPorts() !== null) {
- foreach($container->GetInternalPorts()->GetInternalPorts() as $internalPort) {
- $connection = @fsockopen($containerName, $internalPort, $errno, $errstr, 0.1);
- if ($connection) {
- fclose($connection);
- return new RunningState();
- } else {
- return new StartingState();
- }
+ if ($container->GetInternalPort() !== "") {
+ $connection = @fsockopen($containerName, (int)$container->GetInternalPort(), $errno, $errstr, 0.1);
+ if ($connection) {
+ fclose($connection);
+ return new RunningState();
+ } else {
+ return new StartingState();
}
} else {
return new RunningState();