Skip to content

fix(observability): drop container_name (no more manual web restart after boot) - #61

Merged
AndreJorgeLopes merged 1 commit into
mainfrom
chore/langfuse-stable-names
Jul 3, 2026
Merged

fix(observability): drop container_name (no more manual web restart after boot)#61
AndreJorgeLopes merged 1 commit into
mainfrom
chore/langfuse-stable-names

Conversation

@AndreJorgeLopes

Copy link
Copy Markdown
Owner

Why the manual restart existed

Every langfuse service pinned a fixed container_name AND used healthcheck depends_on. On recreate (reboot/up) Docker renames the old container to <hash>_<name>; a dependent starting mid-rename hits No such container <hash>, and langfuse-web boots into a broken state (OTLP route 404, read 500) that only a manual docker compose restart langfuse-web cleared.

Fix

Remove container_name from all services → Compose uses stable project-scoped names (devflow-langfuse-langfuse-web-1), recreation is clean, no rename race. Service DNS unaffected (network aliases + service names still resolve; collector's http://langfuse-web:3000 works).

Verified

Full down + up -d cold-boot sim with NO manual restart → web 200, OTLP 200, read 200, round-trip trace ingests. Manual step eliminated.

🤖 Generated with Claude Code

…-boot restart

The manual 'docker compose restart langfuse-web after boot' step existed because every
service pinned a fixed container_name AND used healthcheck-based depends_on. On recreate
(reboot / up), Docker renames the old container to <hash>_<name>; a dependent starting
mid-rename hits 'No such container <hash>' and langfuse-web boots into a broken state
(OTLP route 404, read 500) that only a manual restart cleared.

Removing container_name lets Compose use stable project-scoped names
(devflow-langfuse-langfuse-web-1, ...) with clean recreation and no rename race. Service
DNS is unaffected (network aliases clickhouse/redis/minio + service name langfuse-web
still resolve, so the OTel collector's http://langfuse-web:3000 works).

Verified: full down + up (cold-boot sim) with NO manual restart -> web 200, OTLP 200,
read 200, round-trip trace ingests. The manual step is gone.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings July 3, 2026 03:14
@AndreJorgeLopes
AndreJorgeLopes merged commit 8346e32 into main Jul 3, 2026
1 check passed
@AndreJorgeLopes
AndreJorgeLopes deleted the chore/langfuse-stable-names branch July 3, 2026 03:15

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR improves the reliability of the local observability stack by removing fixed container_name entries from docker/docker-compose.yml, avoiding Docker Compose’s recreate/rename race that previously left langfuse-web in a broken state after cold boots.

Changes:

  • Removed container_name from all services so Compose can use stable project-scoped container names.
  • Keeps the existing service DNS / networking model (service names + aliases) while eliminating the manual “restart langfuse-web” recovery step.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docker/docker-compose.yml
Comment on lines 38 to 41
# ── Hindsight (Memory) ──────────────────────────────────────────────
hindsight:
image: ghcr.io/vectorize-io/hindsight:latest
container_name: devflow-hindsight
ports:
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.

2 participants