Some checks failed
CI/CD Pipeline / Lint Code (push) Failing after 7m34s
CI/CD Pipeline / Run Tests (push) Has been skipped
CI/CD Pipeline / Security Scanning (push) Has been skipped
CI/CD Pipeline / Build and Push Docker Images (api) (push) Has been skipped
CI/CD Pipeline / Build and Push Docker Images (chat) (push) Has been skipped
CI/CD Pipeline / Build and Push Docker Images (frontend) (push) Has been skipped
CI/CD Pipeline / Build and Push Docker Images (worker) (push) Has been skipped
CI/CD Pipeline / Deploy to Staging (push) Has been skipped
CI/CD Pipeline / Deploy to Production (push) Has been skipped
CI/CD Pipeline / Generate Documentation (push) Failing after 7m59s
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