From d10759b4de629b470f338139e632fda9c0a7807e Mon Sep 17 00:00:00 2001 From: Vadym Samoilenko Date: Thu, 19 Mar 2026 20:33:37 +0000 Subject: [PATCH] Fix port conflict: use !reset tag to replace base ports, not append Docker Compose merges port lists from multiple -f files by concatenation. Without !reset, both 0.0.0.0:8000:8000 (base) and 127.0.0.1:8000:8000 (prod override) are applied simultaneously, causing "port already allocated". !reset clears the list before applying prod-specific bindings (requires Docker Compose v2.24+, available in current docker-compose-plugin via apt). Co-Authored-By: Claude Sonnet 4.6 --- docker-compose.prod.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 5ac1ce4..68d30f3 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -10,13 +10,13 @@ services: postgres: - ports: [] + ports: !reset [] redis: - ports: [] + ports: !reset [] api: - ports: + ports: !reset - "127.0.0.1:${API_PORT:-8000}:8000" environment: PYTHONUNBUFFERED: "1" @@ -26,7 +26,7 @@ services: PYTHONUNBUFFERED: "1" web: - ports: + ports: !reset - "127.0.0.1:${WEB_PORT:-3000}:3000" environment: NEXT_PUBLIC_BASE_PATH: "/ppt-tool"