Some checks failed
Build / Build and Push Docker Images (worker) (push) Waiting to run
Deploy Staging / Deploy to Staging (push) Waiting to run
Lint / Lint Code (push) Has been cancelled
Security / Security Scanning (push) Has been cancelled
Build / Build and Push Docker Images (api) (push) Has started running
Build / Build and Push Docker Images (chat) (push) Has started running
Build / Build and Push Docker Images (frontend) (push) Has started running
Test / Run Tests (push) Has been cancelled
BREAKING CHANGE: Monolithic ci.yml split into focused pipeline files ## Pipeline Reorganization Split single CI/CD pipeline into 7 specialized workflows: 1. **lint.yml** - Code quality checks (Black, Ruff, MyPy) 2. **test.yml** - Test suite with coverage reporting 3. **security.yml** - Security scanning (Bandit) 4. **build.yml** - Docker image builds and registry push 5. **deploy-staging.yml** - Staging environment deployment 6. **deploy-production.yml** - Production deployment (tags only) 7. **docs-generation.yml** - Scheduled documentation generation ## Benefits - **Modularity**: Each pipeline has single responsibility - **Performance**: Workflows run independently, faster feedback - **Clarity**: Easier to understand and maintain - **Flexibility**: Trigger pipelines independently - **Debugging**: Isolated failures easier to diagnose ## Dockerfile Improvements - Fix FROM AS casing (was 'as', now 'AS') in all Dockerfiles - Resolves Docker build warnings - Improves consistency across build files ## Documentation - Added .gitea/workflows/README.md with: - Workflow descriptions and triggers - Dependency diagram - Environment variables reference - Troubleshooting guide - Best practices ## Migration Notes - Old monolithic pipeline backed up as ci.yml.old - All triggers preserved from original pipeline - No changes to build or deploy logic - Same environment variables and secrets required 🤖 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