IPv4 and IPv6 on SupaHost
SupaHost instances have a static IPv4 address, so IPv4-only networks, CI runners and hosts work. How this differs from Supabase Cloud's IPv6-only direct database host.
Every SupaHost instance has a static IPv4 address, and its hostnames are published as IPv4 (A) records. That means IPv4-only networks, CI runners, Docker containers and hosting platforms can reach your projects without an add-on or a workaround.
How this differs from Supabase Cloud
On Supabase Cloud, the direct database host (db.<ref>.supabase.co) resolves only to an IPv6 address unless you buy the IPv4 add-on. On an IPv4-only network, connecting to it fails with errors like:
connection to server at "db.abcdefghijklmnopqrst.supabase.co" (2600:1f18:...), port 5432 failed: Network is unreachable
The usual fix there is to switch to the connection pooler's IPv4 address or pay for a dedicated IPv4 address.
On SupaHost there's nothing to switch. These hostnames all resolve to your instance's IPv4 address:
| Hostname | Used for |
|---|---|
acme.supahost.space |
The instance itself, SSH, export downloads |
app-one.acme.supahost.space |
A project's API: REST, Auth, Storage, Realtime, Functions |
app-one.studio.acme.supahost.space |
That project's Studio |
You can check from any machine:
dig +short app-one.acme.supahost.space A
Direct Postgres
There's no public Postgres host on SupaHost, IPv4 or IPv6. Direct connections (Business and Enterprise) go through an SSH tunnel to the instance's hostname, which works over IPv4:
ssh -N -L 5432:127.0.0.1:5432 [email protected]
Your tools then connect to 127.0.0.1:5432 on your own machine. See Connecting directly to Postgres.
Static means stable
The instance's IP address doesn't change for the life of the instance. Changing plans resizes the VM but keeps the address. That's useful when:
- you point a custom domain with A records instead of a CNAME (all A records must equal the instance IP);
- a partner or firewall needs to allowlist where your API lives.
You'll find the address by resolving your instance hostname, as above.
Importing from Supabase Cloud
The same IPv6 issue is why SupaHost's one-click import asks for your Supabase project's Session pooler connection string (*.pooler.supabase.com, port 5432) and rejects the direct db.<ref>.supabase.co host. See Importing from Supabase Cloud.
On SupaHost
- Your instance's hostnames are published as A records. If you need native IPv6 reachability for a specific reason, email support.
- Outbound traffic, such as Edge Functions calling third-party APIs, is a separate question. See Static outbound IP for Edge Functions.