fix: unexposed containers with existing proxy rule

This commit is contained in:
Tim Dreyer 2025-04-26 16:23:17 +02:00
parent 73e6530862
commit a98d86a303

View File

@ -268,26 +268,28 @@
// add the container to the networked list, using it's name as address // add the container to the networked list, using it's name as address
container.Ports.forEach((portObject) => { container.Ports.forEach((portObject) => {
// skip unexposed ports if the checkbox is not checked
if (!portObject.PublicPort && !$showUnexposed.is(":checked")) {
return;
}
const port = portObject.PublicPort || portObject.PrivatePort; const port = portObject.PublicPort || portObject.PrivatePort;
const key = `${containerName}:${port}`; const key = `${containerName}:${port}`;
if (existingTargets.has(key) && !existingEntries[key]) { // always include existing proxy-rule targets
existingEntries[key] = { if (existingTargets.has(key)) {
name: containerName, if (!existingEntries[key]) {
ip: containerName, existingEntries[key] = {
port, name: containerName,
}; ip: containerName,
} else if (!networkedEntries[key]) { port,
networkedEntries[key] = { };
name: containerName, }
ip: containerName, }
port, // otherwise, include only if exposed or checkbox is checked
}; else if (portObject.PublicPort || $showUnexposed.is(":checked")) {
if (!networkedEntries[key]) {
networkedEntries[key] = {
name: containerName,
ip: containerName,
port,
};
}
} }
}); });
}); });