Some checks failed
Build / Code Quality Checks (push) Successful in 6m22s
Build / Build & Push Docker Images (chat) (push) Failing after 35s
Build / Build & Push Docker Images (frontend) (push) Successful in 39s
Build / Build & Push Docker Images (worker) (push) Failing after 55s
Build / Build & Push Docker Images (api) (push) Failing after 1m0s
- Install poetry-plugin-export alongside Poetry 1.8.0 in all Python service Dockerfiles (api, chat, worker) - Fix PYTHONPATH environment variable to avoid undefined variable warnings - Resolves Docker build pipeline failure where poetry export command was not available 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Docker Development Environment
This directory contains Docker configurations for running the Datacenter Documentation System in development mode.
Prerequisites
- Docker Engine 20.10+
- Docker Compose V2
- At least 4GB RAM available for Docker
Quick Start
# Start all services
cd deploy/docker
docker-compose -f docker-compose.dev.yml up -d
# View logs
docker-compose -f docker-compose.dev.yml logs -f
# Stop all services
docker-compose -f docker-compose.dev.yml down
Environment Variables
Create a .env file in the project root with:
ANTHROPIC_API_KEY=your_api_key_here
MCP_SERVER_URL=http://localhost:8001
Services
Running Services
| Service | Port | Description | Status |
|---|---|---|---|
| API | 8000 | FastAPI documentation server | ✅ Healthy |
| MongoDB | 27017 | Database | ✅ Healthy |
| Redis | 6379 | Cache & message broker | ✅ Healthy |
| Frontend | 80 | React web interface | ⚠️ Running |
| Flower | 5555 | Celery monitoring | ✅ Running |
Not Implemented Yet
- Chat Service (port 8001) - WebSocket chat interface
- Worker Service - Celery background workers
These services are commented out in docker-compose.dev.yml and will be enabled when implemented.
Access Points
- API Documentation: http://localhost:8000/docs
- API Health: http://localhost:8000/health
- Frontend: http://localhost
- Flower (Celery Monitor): http://localhost:5555
- MongoDB:
mongodb://admin:admin123@localhost:27017 - Redis:
localhost:6379
Build Individual Services
# Rebuild a specific service
docker-compose -f docker-compose.dev.yml up --build -d api
# View logs for a specific service
docker-compose -f docker-compose.dev.yml logs -f api
Troubleshooting
API not starting
Check logs:
docker-compose -f docker-compose.dev.yml logs api
MongoDB connection issues
Ensure MongoDB is healthy:
docker-compose -f docker-compose.dev.yml ps mongodb
Clear volumes and restart
docker-compose -f docker-compose.dev.yml down -v
docker-compose -f docker-compose.dev.yml up --build -d
Development Workflow
- Code changes are mounted as volumes, so changes to
src/are reflected immediately - Restart services after dependency changes:
docker-compose -f docker-compose.dev.yml restart api - Rebuild after pyproject.toml changes:
docker-compose -f docker-compose.dev.yml up --build -d api
Files
Dockerfile.api- FastAPI serviceDockerfile.chat- Chat service (not yet implemented)Dockerfile.worker- Celery worker (not yet implemented)Dockerfile.frontend- React frontend with Nginxdocker-compose.dev.yml- Development orchestrationnginx.conf- Nginx configuration for frontend
Notes
- Python version: 3.12
- Black formatter uses Python 3.12 target
- Services use Poetry for dependency management
- Frontend uses Vite for building