Skip to content

fix(supabase): add healthcheck to the meta service - #86

Draft
Carlos-Vera wants to merge 1 commit into
easypanel-io:24-07-2026from
Carlos-Vera:fix/meta-healthcheck
Draft

fix(supabase): add healthcheck to the meta service#86
Carlos-Vera wants to merge 1 commit into
easypanel-io:24-07-2026from
Carlos-Vera:fix/meta-healthcheck

Conversation

@Carlos-Vera

Copy link
Copy Markdown

Problem

meta is the only service in the template without a healthcheck. Orchestrators that
colour a project by container health (EasyPanel, Portainer) therefore never show a
healthy stack as fully green, and a genuinely broken container is indistinguishable
from the one that simply never reports.

postgres-meta does declare a HEALTHCHECK in its own Dockerfile, but the published
images do not carry it — checked on both the version pinned here and the current
release:

$ docker buildx imagetools inspect supabase/postgres-meta:v0.96.6 --format '{{json .Image}}' | grep -o '"Healthcheck":[^,]*'
"Healthcheck":null
$ docker buildx imagetools inspect supabase/postgres-meta:v0.99.0 --format '{{json .Image}}' | grep -o '"Healthcheck":[^,]*'
"Healthcheck":null

So the compose file has to declare it.

Change

Adds the command postgres-meta declares in its own Dockerfile, on the port the
template already sets (PG_META_PORT: 8080).

Verification

Started meta v0.96.6 with PG_META_DB_HOST pointing at a host that does not resolve:

$ curl -s -o /dev/null -w '%{http_code}' http://localhost:8080/health
200
$ docker exec meta-test node -e "fetch('http://localhost:8080/health').then((r) => {if (r.status !== 200) throw new Error(r.status)})"
$ echo $?
0

/health answers 200 while the database is unreachable, so this tracks service
liveness and will not flap on a transient database blip — matching how the other
services in this file are checked.

Desarrollado por Carlos Vera para BravesLab con el favor de nuestro señor JesusCristo.

meta is the last service without one, so orchestrators that colour a project by
container health (EasyPanel, Portainer) never show it fully green.

The command is the one postgres-meta declares in its own Dockerfile; the
published images do not carry it, so the compose file has to. Verified against
v0.96.6: /health answers 200 even while the database is unreachable, so this
tracks liveness and does not flap on a transient db blip.

Autor: Carlos Vera <carlos@braveslab.com>
---
“Todo lo puedo en Cristo que me fortalece.” fil 4:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant