Skip to content

fix(infra): two of the three UAT domain variables named a service that does not exist - #639

Merged
beyondnetPeru merged 1 commit into
mainfrom
fix/uat-compose-fqdn-names
Aug 22, 2026
Merged

fix(infra): two of the three UAT domain variables named a service that does not exist#639
beyondnetPeru merged 1 commit into
mainfrom
fix/uat-compose-fqdn-names

Conversation

@beyondnetPeru

Copy link
Copy Markdown
Contributor

Symptom

Coolify deployed all nine services and every healthcheck was green, but the three domains answered 503 and the containers carried zero Traefik labels.

Cause

Read out of Coolify's source on the host, not guessed. normalizeComposeServiceName (bootstrap/helpers/domains.php:335) builds the magic-variable key from the compose service name, replacing - and . with _:

Service Key Coolify expects This file declared
mcp SERVICE_FQDN_MCP ✅ matched
core-api SERVICE_FQDN_CORE_API SERVICE_FQDN_COREAPI
tracker-web SERVICE_FQDN_TRACKER_WEB SERVICE_FQDN_TRACKERWEB

mcp worked by luck: a name with no hyphen normalises to itself.

Why it cost time to find

The failure is silent in the expensive direction. Coolify still creates the environment variable, so the declaration looks correct in the UI. What it does not create is the entry in docker_compose_domains — and that is what generates the Traefik labels. Verified on the live install: docker_compose_domains held exactly one key, mcp.

Worse, the generated SERVICE_FQDN_* variables are read-only in the UI, because Coolify re-derives them on every parse. So the operator could neither find the missing domain fields nor type the values by hand.

After

Redeploy creates a domain field for all three services; the routes then follow from the domains entered there.

🤖 Generated with Claude Code

…t does not exist

Symptom: after a successful Coolify deploy with all nine containers healthy,
every domain answered 503 and the containers carried zero Traefik labels.

Cause, read out of Coolify's own source on the host rather than guessed.
`normalizeComposeServiceName` (bootstrap/helpers/domains.php:335) derives the
magic-variable key from the compose SERVICE NAME with `-` and `.` replaced by
`_`. So `core-api` yields `CORE_API` and `tracker-web` yields `TRACKER_WEB`.
This file declared `SERVICE_FQDN_COREAPI_3000` and
`SERVICE_FQDN_TRACKERWEB_8080` — names matching no service.

The failure is silent in the direction that costs time. Coolify still creates
the environment variable, so it LOOKS declared; what it does not create is the
domain entry in `docker_compose_domains`, and the domain field never appears in
the UI. Confirmed on the live install: `docker_compose_domains` held exactly one
key, `mcp` — the only one of the three whose name has no hyphen and therefore
normalises to itself. The two mistyped services had no route at all, and the
variables Coolify generates are read-only in the UI (they are derived on every
parse), so there was nothing to correct by hand either.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@beyondnetPeru
beyondnetPeru requested a review from a team as a code owner August 22, 2026 02:44
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@github-actions

Copy link
Copy Markdown

📊 Bilingual Coverage Impact

PR Changes

  • Paired EN/ES files modified: 0
  • New EN files needing ES translation: 0

Repository Coverage

Metric Value
Total EN files 525
Total ES files 495
Paired files 0
Coverage 0%

Good: All EN changes have ES counterparts.


Generated by GitHub Actions

@beyondnetPeru
beyondnetPeru merged commit 83e1827 into main Aug 22, 2026
35 checks passed
@beyondnetPeru
beyondnetPeru deleted the fix/uat-compose-fqdn-names branch August 22, 2026 02:51
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