Minor improvements (#1)

* few changes, please test

* Change weird formatting

* Another formatting change

* Fix for `container:` networks

* Hide IPs/Ports when container is not running

* WebUI fix

- generate WebUI links correctly
- don't show WebUI from containers which use a `container:` network
This commit is contained in:
Christoph Hummer
2024-08-03 07:39:00 +02:00
committed by GitHub
parent 27047c8832
commit 9c2aa45751
3 changed files with 58 additions and 27 deletions

View File

@@ -96,11 +96,23 @@ foreach ($containers as $ct) {
$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 (_var($port,'Driver') == 'ipvlan' || _var($port,'Driver') == 'host')
$ports_external[] = sprintf('%s:%s', _var($port,'IP'), strtoupper(_var($port,'PrivatePort')));
$ports_internal[] = sprintf('%s:%s', _var($port,'PrivatePort'), strtoupper(_var($port,'Type')));
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')));
}
}
$paths = [];
$ct['Volumes'] = is_array($ct['Volumes']) ? $ct['Volumes'] : [];
@@ -168,3 +180,4 @@ foreach ($images as $image) {
}
echo "\0".implode($docker)."\0".(pgrep('rc.docker')!==false ? 1:0);
?>