chore(docker): update compose and server Dockerfile for local dev#771
chore(docker): update compose and server Dockerfile for local dev#771JFord925 wants to merge 2 commits into
Conversation
docs: refresh CLAUDE.md notes - refine service definitions and healthchecks - ensure clean shutdown behavior in dev
WalkthroughDocumentation expanded in CLAUDE.md for development and deployment workflows. docker-compose.yml adds DNS entries to two services. python/Dockerfile.server changes the Uvicorn entrypoint from src.server.main:socket_app to src.server.main:app. No public API declarations modified. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
participant C as Client
participant U as Uvicorn (Server)
participant A as ASGI App (src.server.main:app)
participant H as Handlers/Routes
Note over U,A: Entrypoint changed from socket_app -> app
C->>U: HTTP request
U->>A: Dispatch ASGI call
A->>H: Route resolve + handler
H-->>A: Response
A-->>U: ASGI response
U-->>C: HTTP response
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
CLAUDE.md(5 hunks)docker-compose.yml(2 hunks)python/Dockerfile.server(1 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-09-19T10:31:54.292Z
Learnt from: CR
PR: coleam00/Archon#0
File: CLAUDE.md:0-0
Timestamp: 2025-09-19T10:31:54.292Z
Learning: Applies to {PRPs/ai_docs/DATA_FETCHING_ARCHITECTURE.md,PRPs/ai_docs/QUERY_PATTERNS.md} : Adhere to documented TanStack Query architecture and patterns
Applied to files:
CLAUDE.md
🔇 Additional comments (1)
python/Dockerfile.server (1)
78-78: Confirm ASGI entrypoint swapSwitching uvicorn from
src.server.main:socket_apptosrc.server.main:appdrops whatever layeringsocket_appprovided (likely Socket.IO or other middleware). Please verify thatappstill exposes the Socket.IO endpoints and any middleware fromsocket_app; otherwise websocket clients will break. If the change is intentional, can you document why the Socket.IO wrapper is no longer needed?
| dns: | ||
| - 8.8.8.8 | ||
| - 8.8.4.4 |
There was a problem hiding this comment.
Avoid hard-coding public DNS resolvers
Setting dns to 8.8.8.8/8.8.4.4 forces all lookups through Google and bypasses the host’s resolver. In local dev that breaks environments that rely on private zones (VPN, split‑horizon, on-prem Supabase) or block Google DNS entirely, so the containers can no longer reach required services. Please drop the hard-coded entries or make them opt-in/configurable.
🤖 Prompt for AI Agents
In docker-compose.yml around lines 41 to 43, the docker service is hard‑coding
public DNS servers (8.8.8.8, 8.8.4.4) which overrides the host resolver and
breaks private DNS/VPN setups; remove these fixed entries and instead make DNS
optional/configurable (e.g., read DNS_SERVERS from an environment variable or
omit the dns key when not set) so local environments keep the host resolver by
default and teams can opt in to custom resolvers when needed.
| dns: | ||
| - 8.8.8.8 | ||
| - 8.8.4.4 |
There was a problem hiding this comment.
Same DNS concern for archon-mcp
Same issue as above: forcing Google DNS can break local name resolution. Please remove or make optional.
🤖 Prompt for AI Agents
In docker-compose.yml around lines 102 to 104, the service-level dns entries
forcing Google DNS should not be hardcoded; remove the two lines ("- 8.8.8.8"
and "- 8.8.4.4") to avoid breaking local name resolution, or make them optional
by moving the dns configuration into a separate docker-compose.override.yml (or
a named profile like "use-google-dns") so teams can opt-in when they want Google
DNS; update documentation to note how to enable the override/profile if needed.
|
🔄 This repository is being replaced by a new version of Archon. The original Python/MCP codebase is being archived to the This PR is being closed as part of the migration. Thank you for your contribution! |
docs: refresh CLAUDE.md notes
Summary by CodeRabbit