Recreate only the edge runtime on deploy

The deploy gate ran docker compose up --force-recreate functions, which also starts what functions depends on: kong, and through kong studio. studio has been down since the stack restarted on 2026-10-12, so compose stopped with "dependency failed to start: container supabase-studio exited (128)" after removing the old runtime, and left the new one in Created: every edge function answered 503 until it was started by hand. --no-deps recreates the runtime alone; checked with compose --dry-run on the host (with deps: the studio error; with --no-deps: recreated and started). The host's gate is updated to this file, so the deploy's hash check matches.
This commit is contained in:
Satoshi Qazi Muhammed committed 2026-10-16 14:58:09 +04:00
1 parent 57b0ec75e6
commit b13577ba74
1 file changed
+6 -1
+6 -1
View File
@@ -89,6 +89,11 @@ def container_running():
def restart_runtime():
"""Recreate the edge runtime, tolerating a racing restart.
Only the runtime: --no-deps. Without it compose also starts what functions depends on
(kong, and through kong studio); with studio down that failed with "dependency failed
to start" after the old runtime had already been removed, which left the new one in
Created and every edge function answering 503.
`docker compose up --force-recreate` fails with "No such container" when
something else recreated the container between compose reading state and
acting on it — a hand-run restart, or another project's deploy. The deploy
@@ -98,7 +103,7 @@ def restart_runtime():
"""
for attempt in (1, 2, 3):
r = subprocess.run(
["docker", "compose", "up", "-d", "--force-recreate", "functions"],
["docker", "compose", "up", "-d", "--force-recreate", "--no-deps", "functions"],
cwd=COMPOSE_DIR, capture_output=True, text=True,
)
if r.returncode == 0: