This setup allows you to run Claude Code continuously in a Docker container with --allow-all mode enabled to work on the mahmoud-consultancy project infinitely.
Copy the example environment file and add your API key:
cp .env.claude.example .env.claude
Edit .env.claude and set your ANTHROPIC_API_KEY:
ANTHROPIC_API_KEY=sk-ant-api03-...
Build the Docker image:
docker-compose -f docker-compose.claude.yml build
Start Claude Code worker:
docker-compose -f docker-compose.claude.yml up -d
View logs in real-time:
docker-compose -f docker-compose.claude.yml logs -f
View recent logs:
docker-compose -f docker-compose.claude.yml logs --tail=100
docker-compose -f docker-compose.claude.yml down
docker-compose -f docker-compose.claude.yml restart
docker-compose -f docker-compose.claude.yml ps
docker exec -it claude-mahmoud-consultancy bash
Edit the CLAUDE_PROMPT variable in .env.claude to customize what Claude works on:
CLAUDE_PROMPT=Review the codebase and fix all TypeScript errors in the frontend
Claude will make commits on your behalf. Configure git identity in .env.claude:
GIT_EMAIL=your-email@example.com
GIT_NAME=Your Name
The container is configured with:
Adjust these in docker-compose.claude.yml under deploy.resources if needed.
--allow-all flag, which auto-approves all tool usesCheck logs for errors:
docker-compose -f docker-compose.claude.yml logs
Verify your .env.claude file has the correct ANTHROPIC_API_KEY
Ensure the docker-entrypoint.sh is executable:
chmod +x docker-entrypoint.sh
Adjust resource limits in docker-compose.claude.yml
Create multiple docker-compose files with different prompts and container names:
# Worker 1: Frontend tasks
docker-compose -f docker-compose.claude.yml up -d
# Worker 2: Backend tasks (create a separate docker-compose.claude-backend.yml)
docker-compose -f docker-compose.claude-backend.yml up -d
Use environment variables to set specific tasks:
CLAUDE_PROMPT="Run all tests and fix failing ones" docker-compose -f docker-compose.claude.yml up
Dockerfile.claude - Docker image definitiondocker-compose.claude.yml - Docker Compose configurationdocker-entrypoint.sh - Startup script that runs Claude.env.claude.example - Example environment configurationDOCKER-CLAUDE.md - This documentation file# 1. Setup
cp .env.claude.example .env.claude
# Edit .env.claude with your API key
# 2. Start Claude working on the project
docker-compose -f docker-compose.claude.yml up -d
# 3. Monitor progress
docker-compose -f docker-compose.claude.yml logs -f
# 4. Review changes
git status
git diff
# 5. When satisfied, stop the container
docker-compose -f docker-compose.claude.yml down
Reacties