fix: audit-clean the remaining port-convention violations - #1070
Merged
Conversation
…dit green) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
built with Refined Cloudflare Pages Action⚡ Cloudflare Pages Deployment
|
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.
This PR brings the last 25 blueprints in line with the port/network conventions so
validate-docker-compose.tsis green across the whole repo (rustdeskwas already annotated earlier).For every blueprint I looked at what the ports actually carry and applied one of three decisions:
# dokploy: allow-host-ports — <reason>marker (same mechanism introduced for rustdesk).expose, and the UI keeps working through the Traefik domain defined intemplate.toml.container_name/ customnetworks(Dokploy manages names and attaches services to its network automatically).6060:6060was an accidental HTTP publish →expose.chibinetnetwork (root + 3 services). Services keep talking via service names on the Dokploy network.container_name(nothing references them; all env URLs use service names). UI${UI_PORT:-8080}:8080→expose: 8080(domain in template.toml routes todatalens:8080).6379:6379→expose. Redis wire protocol, consumed by other services over the internal Docker network; no reason to publish it on the host.dokploy-network(Dokploy injects it automatically).container_name;ELASTICSEARCH_HOSTSalready uses the service name.dokploy-network+ alias. The Traefik TCP labels for MQTTS are unaffected (docker provider resolves the container directly); MQTT/WS/dashboard were alreadyexpose.container_name.bench-networkfrom all 14 services + root. All inter-service refs use service names.1025:1025→expose. Other services reach SMTP viamailpit:1025on the internal/Dokploy network; UI 8025 already routed via Traefik.container_name: Kong routes Realtime via its container DNS name (realtime-dev.supabase-realtime) and Vector derives log routing from container names (the toml itself documents this). The${CONTAINER_PREFIX}per-deploy hash already prevents collisions, so stripping the names would break the template for no gain. Added a# dokploy: allow-container-names — <reason>marker plus a small validator extension (mirrorsallow-host-ports: errors become warnings only when the marker is present).networks: default: ipamsubnet override.seafile-net(root + 3 services).webappnetwork (root + 6 services).51821:51821/tcp→expose(template domain routes to 51821 via Traefik). Removedcontainer_name.Validator change (
build-scripts/validate-docker-compose.ts): added the# dokploy: allow-container-namesopt-out marker, used only by the frozenpre0.22.5-supabasetemplate, with the same semantics as the existingallow-host-portsmarker (violation downgraded to a warning, justification required in the marker line).Note for deployed templates: the
ports → exposeconversions (dragonfly-db, mailpit, datalens UI, wg-easy UI, adguardhome pprof) only stop publishing those ports on the host on the next redeploy — Traefik routing via the template domain is unaffected because it goes over the Docker network. Anyone who relied on hittingserver-ip:portdirectly for those five ports should use the domain (or re-add the mapping in their own deployment).Verification
validate-docker-compose.tsover all blueprints: 0 failures.node generate-meta.js --check: clean.mailpit(SMTP 1025 converted to expose): deployed, UI reachable through Traefik — HTTP 200.datalens(UI host-port converted to expose): deployed, UI reachable through Traefik — HTTP 200.🤖 Generated with Claude Code