Self-hosted Supabase: Postgrest 503 "remote connection failure" via Envoy
tst4echoo
HOBBYOP

2 hours ago

Project: supportive-compassion (ID d108e9e2-ad56-4f23-a3dd-050dd103bbaa), deployed from the official railway.com/deploy/supabase template (6ixfalls/supabase-postgres, PostgREST v14.12, Envoy).

Symptom: Every request to /rest/v1/* through the public Envoy gateway returns:

HTTP 503

upstream connect error or disconnect/reset before headers. reset reason: remote connection failure

/auth/v1/* (GoTrue) requests through the same Envoy instance work fine, so this looks specific to the Postgrest route/cluster, not Envoy as a whole.

What I've checked/tried, none of which changed anything:

  • Postgrest's own deploy logs are clean on every restart -- connects to Postgres successfully, schema cache loads fine (7 relations), no errors.
    • Envoy's REST_HOST variable correctly points to postgrest.railway.internal, matching Postgrest's actual private domain.
    • Redeployed Postgrest (x2), Envoy (x2), Postgres, and Supavisor -- identical error every time, byte-for-byte.
    • No incident showing on status.railway.com or in the community forum matching this.

Possibly relevant: the issue first appeared shortly after I redeployed one unrelated service (GoTrue Auth, for a config change) and, separately, an accidental UI click briefly created a phantom service on the project canvas that I deleted before it ever deployed. Around that same window, the Railway dashboard itself showed me a "Networking info temporarily unavailable -- Domains and TCP proxy details could not be loaded" toast. I can't confirm causation, but the timing is suspicious enough to mention.

This looks like a private-networking issue between two services in the same project/environment, not an app-level misconfiguration. Any help figuring out what's actually failing on the backend would be appreciated -- happy to provide deployment IDs or logs on request.

$10 Bounty

1 Replies

Railway
BOT

2 hours ago

This thread has been opened as a bounty so the community can help solve it.

Status changed to Open Railway about 2 hours ago


tst4echoo
HOBBYOP

29 minutes ago

Thanks for the detailed explanation -- that theory lines up well with what I'm seeing. However: PGRST_SERVER_HOST was already set to * (not the default !4) before I saw this reply, so that wasn't the gap. To be thorough I still redeployed both Postgrest and Envoy fresh just now, in that order, and retested -- identical result, byte-for-byte:

HTTP 503

upstream connect error or disconnect/reset before headers. reset reason: remote connection failure

One more data point that might help: around 2026-08-14 07:17-07:21 PDT, Postgrest's own logs briefly showed it losing its connection to Postgres too (postgres.railway.internal), and the retry log line shows it attempting both an IPv4 address (10.179.238.132) and an IPv6 address (fd12:2ab2:6b3c:1:5000:4a:3833:ee84) for that host, both timing out simultaneously before it self-recovered a few seconds later. So dual-stack addresses are definitely in play internally, and there was a real (if brief) connectivity blip around that time -- but Envoy->Postgrest has been consistently failing before, during, and after that window, not just then, so it doesn't look purely transient either. Happy to try anything else you'd suggest.


Welcome!

Sign in to your Railway account to join the conversation.

Loading...