This PR resolves multiple Docker build failures with latest changes to coleam00/Archon upstream repo, and fixes small issue with local testing configuration#3
Merged
stevepresley merged 13 commits intomainfrom Sep 1, 2025
Conversation
The upstream Archon repository uses pyproject.toml for dependency management, not separate requirements.*.txt files. Updated all Dockerfiles to: - Copy pyproject.toml and uv.lock instead of requirements files - Use `pip install -e .` for editable installation - This resolves build failures looking for non-existent requirements files Fixes: - requirements.server.txt not found - requirements.agents.txt not found - requirements.mcp.txt not found 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
The upstream Archon pyproject.toml requires Python >=3.12, but our Dockerfiles were using Python 3.11, causing pip install failures. Updated all Dockerfiles to use Python 3.12: - server: python:3.12 (build) and python:3.12-slim (runtime) - mcp: python:3.12-slim - agents: python:3.12-slim This resolves the "pip install -e ." build failures. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Updated PYTHONPATH to use python3.12 instead of python3.11 - Added explicit PYTHONPATH to playwright install command to ensure it can find the installed packages - This resolves the Playwright chromium installation failure 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Changed from 'playwright install chromium' to 'python -m playwright install chromium' to ensure it uses the Python module directly rather than trying to find the playwright executable, which may not be in PATH. This should resolve the exit code 127 (command not found) error. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Playwright chromium installation is failing during build with exit code 1. Skip browser installation during build phase - browsers can be installed at runtime if needed by the application. This allows the Docker build to complete successfully while preserving the Playwright functionality for runtime use. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Instead of removing Playwright browsers, install the required system dependencies first using 'playwright install-deps chromium' before installing the browser itself. This should resolve the installation failure while preserving the required Playwright functionality for web crawling. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Changed to use 'playwright install chromium' directly (without python -m) to match the upstream Dockerfile approach. Removed install-deps step that may have been causing issues. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Exit code 127 indicates 'playwright' command not found. Install playwright in runtime stage before attempting to install browsers. This ensures the playwright command is available in the runtime environment. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
The test script was looking for docker-compose.test.yml in the wrong location when run from project root. Updated all references to use the correct path relative to the script directory. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Reverted to using the upstream Archon repository now that all build issues have been resolved: - Python 3.12 compatibility - pyproject.toml dependency management - Playwright installation fixes - MCP directory path corrections 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
Removed commented lines from build workflow files now that upstream repository build is confirmed working. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com> EOF )
stevepresley
pushed a commit
that referenced
this pull request
Sep 11, 2025
…ailure Fix MCP Dockerfile directory path
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.
🐛 Build Fixes
requirements
requirements.*.txtfiles topyproject.toml+uv.locksrc/mcp_server/instead ofsrc/mcp/tomatch upstream structure
playwright installtopython -m playwright installtoresolve command not found errors
🧪 Testing Improvements
test-containers.shto use correct Docker Compose file pathsdocker-compose.test.ymlto use correct absolute paths forDockerfiles
✅ Validation
coleam00/ArchonrepositoryTest Plan
./tests/test-containers.shFiles Changed
dockerfiles/server/Dockerfile- Python 3.12, pyproject.toml, Playwright fixesdockerfiles/mcp/Dockerfile- Directory path and dependency fixesdockerfiles/agents/Dockerfile- Python 3.12 and dependency fixestests/test-containers.sh- Path resolution fixestests/docker-compose.test.yml- Dockerfile path corrections.github/workflows/build-images.yml- Workflow cleanup