Skip to content

chore(compose): map host.internal to the host gateway for local dev - #49

Merged
ddilushan merged 1 commit into
mainfrom
chore/compose-host-internal-mapping
Aug 28, 2026
Merged

ddilushan merged 1 commit into
mainfrom
chore/compose-host-internal-mapping

Conversation

@ddilushan

Copy link
Copy Markdown
Collaborator

Summary

Local development only. Adds one stable hostname, host.internal, that resolves to
the machine running Docker from both inside the bot container and on the host
itself, so compose runs can reach services the developer runs locally — object
storage, Mongo, Redis, the backend.

The concrete failure it fixes: uploads die in local compose runs. The backend signs
presigned upload URLs with an address reachable from the developer's machine
(127.0.0.1:9000), but inside the container that is the container itself, so the PUT
is refused — Retry part 1 three times, then Failed to upload part 1 after 3 attempts. SigV4 signs the Host header, so signer and uploader must use one
identical name; the backend cannot sign 127.0.0.1 and hand the container
host.docker.internal.

.internal is ICANN-reserved for private use, and the name is service-neutral so the
same entry serves storage, databases and the API rather than needing one alias each.

Changes

  • docker-compose.yml — extra_hosts: ["host.internal:host-gateway"] on the meeting-bot service
  • package.json — 1.2.34 → 1.2.35

Test plan

  1. Add 127.0.0.1 host.internal to the host machine's hosts file, and point the
    backend's S3 endpoint at http://host.internal:9000.
  2. docker compose up, then run a bot job against a real meeting.
  3. The recording uploads successfully; the retry-and-fail sequence above is gone.

No runtime effect when unused: an extra_hosts entry for a hostname nothing
references does nothing.

@ddilushan
ddilushan requested a review from buddhikajay as a code owner August 28, 2026 08:46
@ddilushan
ddilushan merged commit 1447ed3 into main Aug 28, 2026
3 checks passed
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