fix: display LAN:IP for multiple external networks

This commit is contained in:
Matt
2024-08-15 18:50:44 +12:00
committed by GitHub
parent 8d76d6f1cc
commit 1c019c8f08
@@ -89,29 +89,29 @@ foreach ($containers as $ct) {
$wait = var_split($autostart[array_search($name,$names)]??'',1);
$networks = [];
$network_ips = [];
$ports_internal = [];
$ports_external = [];
foreach($ct['Networks'] as $netName => $netVals) {
$networks[] = $netName;
$network_ips[] = $netVals['IPAddress'];
}
$ports_internal = [];
$ports_external = [];
foreach ($ct['Ports'] as $port) {
if (strpos($ct['NetworkMode'], 'container:') === 0)
break;
if (_var($port,'PublicPort') && _var($port,'Driver') == 'bridge')
$ports_external[] = sprintf('%s:%s', $host, strtoupper(_var($port,'PublicPort')));
if (isset($ct['Networks']['host'])) {
$ports_external[] = sprintf('%s', $netVals['IPAddress']);
$ports_internal[] = sprintf('%s', 'all');
break;
}
if (isset($ct['Ports']['vlan'])) {
$ports_external[] = sprintf('%s', $netVals['IPAddress']);
$ports_internal[] = sprintf('%s', 'all');
break;
}
if ((!isset($ct['Networks']['host'])) || (!isset($ct['Networks']['vlan']))) {
$ports_internal[] = sprintf('%s:%s', _var($port,'PrivatePort'), strtoupper(_var($port,'Type')));
foreach ($ct['Ports'] as $port) {
if (strpos($ct['NetworkMode'], 'container:') === 0)
break;
if (_var($port,'PublicPort') && _var($port,'Driver') == 'bridge')
$ports_external[] = sprintf('%s:%s', $host, strtoupper(_var($port,'PublicPort')));
if (isset($ct['Networks']['host'])) {
$ports_external[] = sprintf('%s', $netVals['IPAddress']);
$ports_internal[0] = sprintf('%s', 'all');
break;
}
if (isset($ct['Ports']['vlan'])) {
$ports_external[] = sprintf('%s', $netVals['IPAddress']);
$ports_internal[0] = sprintf('%s', 'all');
break;
}
if ((!isset($ct['Networks']['host'])) || (!isset($ct['Networks']['vlan']))) {
$ports_internal[] = sprintf('%s:%s', _var($port,'PrivatePort'), strtoupper(_var($port,'Type')));
}
}
}
$paths = [];