fix: prioritize protocol metadata container name over server data during protocol installation

This commit is contained in:
infosave2007
2026-04-23 18:04:20 +03:00
parent 6006628f64
commit b99783e40f
+5 -2
View File
@@ -1391,7 +1391,9 @@ class InstallProtocolManager
{ {
$metadata = $protocol['definition']['metadata'] ?? []; $metadata = $protocol['definition']['metadata'] ?? [];
$serverData = $server->getData(); $serverData = $server->getData();
$containerName = $serverData['container_name'] ?? ($metadata['container_name'] ?? 'amnezia-awg'); // IMPORTANT: Use protocol metadata container_name first (e.g. 'amnezia-awg2'),
// NOT vpn_servers.container_name which belongs to the PRIMARY protocol (e.g. 'aivpn-server')
$containerName = $metadata['container_name'] ?? $serverData['container_name'] ?? 'amnezia-awg';
$configDir = trim((string) ($metadata['config_dir'] ?? '')); $configDir = trim((string) ($metadata['config_dir'] ?? ''));
if ($configDir === '') { if ($configDir === '') {
$configDir = (($protocol['slug'] ?? '') === 'awg2') ? '/opt/amnezia/awg2' : '/opt/amnezia/awg'; $configDir = (($protocol['slug'] ?? '') === 'awg2') ? '/opt/amnezia/awg2' : '/opt/amnezia/awg';
@@ -2154,7 +2156,8 @@ class InstallProtocolManager
} }
$serverData = $server->getData(); $serverData = $server->getData();
$containerName = $serverData['container_name'] ?? 'amnezia-awg'; $metadata = $protocol['definition']['metadata'] ?? [];
$containerName = $metadata['container_name'] ?? $serverData['container_name'] ?? 'amnezia-awg';
// AWG2: try awg0.conf first (standard), fall back to wg0.conf (legacy) // AWG2: try awg0.conf first (standard), fall back to wg0.conf (legacy)
$isAwg2 = (stripos($containerName, 'awg2') !== false || ($protocol['slug'] ?? '') === 'awg2'); $isAwg2 = (stripos($containerName, 'awg2') !== false || ($protocol['slug'] ?? '') === 'awg2');
$configDir = '/opt/amnezia/awg'; $configDir = '/opt/amnezia/awg';