mirror of
https://github.com/nextcloud/all-in-one.git
synced 2024-09-20 23:06:10 +08:00
internal_ports should be a string and not an array
Signed-off-by: Simon L <szaimen@e.mail.de>
This commit is contained in:
parent
53065b5631
commit
54f61eba68
|
@ -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"))')"
|
||||
|
|
|
@ -32,11 +32,8 @@
|
|||
"container_name": {
|
||||
"type": "string"
|
||||
},
|
||||
"internal_ports": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
"internal_port": {
|
||||
"type": "string"
|
||||
},
|
||||
"stop_grace_period": {
|
||||
"type": "integer"
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -46,7 +46,7 @@
|
|||
<code>$internalPort</code>
|
||||
</InvalidScalarArgument>
|
||||
<RedundantCondition occurrences="1">
|
||||
<code>$container->GetInternalPorts() !== null</code>
|
||||
<code>$container->GetInternalPort() !== null</code>
|
||||
</RedundantCondition>
|
||||
</file>
|
||||
<file src="src/Twig/ClassExtension.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;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace AIO\Container;
|
||||
|
||||
class ContainerInternalPorts {
|
||||
/** @var string[] */
|
||||
private array $internalPorts = [];
|
||||
|
||||
public function AddInternalPort(string $internalPort) : void {
|
||||
$this->internalPorts[] = $internalPort;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string[]
|
||||
*/
|
||||
public function GetInternalPorts() : array {
|
||||
return $this->internalPorts;
|
||||
}
|
||||
}
|
|
@ -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,
|
||||
|
|
|
@ -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();
|
||||
|
|
Loading…
Reference in a new issue