fix(infra): two of the three UAT domain variables named a service that does not exist - #639
Merged
Merged
Conversation
…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>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
📊 Bilingual Coverage ImpactPR Changes
Repository Coverage
✅ Good: All EN changes have ES counterparts. Generated by GitHub Actions |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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_:mcpSERVICE_FQDN_MCPcore-apiSERVICE_FQDN_CORE_APISERVICE_FQDN_COREAPItracker-webSERVICE_FQDN_TRACKER_WEBSERVICE_FQDN_TRACKERWEBmcpworked 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_domainsheld 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