Skip to content

chore(docker): update compose and server Dockerfile for local dev#771

Closed
JFord925 wants to merge 2 commits into
coleam00:mainfrom
JFord925:main
Closed

chore(docker): update compose and server Dockerfile for local dev#771
JFord925 wants to merge 2 commits into
coleam00:mainfrom
JFord925:main

Conversation

@JFord925

@JFord925 JFord925 commented Oct 9, 2025

Copy link
Copy Markdown
  • refine service definitions and healthchecks
  • ensure clean shutdown behavior in dev

docs: refresh CLAUDE.md notes

Summary by CodeRabbit

  • Documentation
    • Expanded guides for local development, backend environment setup/validation, dependency groups, Docker operations and profiles, database setup/migrations, and common maintenance tasks.
  • Chores
    • Updated server startup to run the primary HTTP application via the ASGI server, aligning with health checks for more consistent availability.
    • Added explicit DNS configuration for containerized services to improve network reliability in diverse environments.

docs: refresh CLAUDE.md notes

- refine service definitions and healthchecks

- ensure clean shutdown behavior in dev
@coderabbitai

coderabbitai Bot commented Oct 9, 2025

Copy link
Copy Markdown

Walkthrough

Documentation 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

Cohort / File(s) Summary
Documentation
CLAUDE.md
Adds detailed development/deployment guidance: Makefile workflows, env setup/validation, Docker operations and compose profiles, DB setup/migrations, Python dependency groups, and common tasks.
Container & Runtime Config
docker-compose.yml, python/Dockerfile.server
Compose: adds dns entries (8.8.8.8, 8.8.4.4) to archon-server and archon-mcp. Dockerfile.server: updates CMD to run uvicorn on src.server.main:app instead of src.server.main:socket_app.

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
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

Thump-thump, I tweak my compose and hop—
New app takes the socket’s spot, flip-flop.
Docs like clover, fields of green,
DNS crumbs where pods convene.
With whiskered pride I merge and grin,
Carrots cached—let shipping begin! 🥕✨

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Description Check ⚠️ Warning The PR description does not follow the repository’s required template and is missing most of the structured sections such as Summary, Changes Made, Type of Change, Affected Services, Testing details, Test Evidence, and Checklist. Please populate the description using the repository template by adding a brief Summary section, the Changes Made list, marking the Type of Change, selecting Affected Services, outlining Testing steps and Test Evidence, and completing the Checklist and any Breaking Changes or Additional Notes sections.
✅ Passed checks (2 passed)
Check name Status Explanation
Title Check ✅ Passed The title clearly and concisely summarizes the primary changes to Docker Compose and the server Dockerfile for local development, aligning with the main code modifications to service definitions and healthchecks.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 2

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 489415d and 8948e73.

📒 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 swap

Switching uvicorn from src.server.main:socket_app to src.server.main:app drops whatever layering socket_app provided (likely Socket.IO or other middleware). Please verify that app still exposes the Socket.IO endpoints and any middleware from socket_app; otherwise websocket clients will break. If the change is intentional, can you document why the Socket.IO wrapper is no longer needed?

Comment thread docker-compose.yml
Comment on lines +41 to +43
dns:
- 8.8.8.8
- 8.8.4.4

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

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.

Comment thread docker-compose.yml
Comment on lines +102 to +104
dns:
- 8.8.8.8
- 8.8.4.4

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

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.

@Wirasm

Wirasm commented Apr 6, 2026

Copy link
Copy Markdown
Collaborator

🔄 This repository is being replaced by a new version of Archon.

The original Python/MCP codebase is being archived to the archive/v1-python-mcp branch. The new Archon (TypeScript workflow engine for AI coding agents) is replacing it.

This PR is being closed as part of the migration. Thank you for your contribution!

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