Initial commit: LLM Automation Docs & Remediation Engine v2.0
Features: - Automated datacenter documentation generation - MCP integration for device connectivity - Auto-remediation engine with safety checks - Multi-factor reliability scoring (0-100%) - Human feedback learning loop - Pattern recognition and continuous improvement - Agentic chat support with AI - API for ticket resolution - Frontend React with Material-UI - CI/CD pipelines (GitLab + Gitea) - Docker & Kubernetes deployment - Complete documentation and guides v2.0 Highlights: - Auto-remediation with write operations (disabled by default) - Reliability calculator with 4-factor scoring - Human feedback system for continuous learning - Pattern-based progressive automation - Approval workflow for critical actions - Full audit trail and rollback capability
This commit is contained in:
85
Dockerfile
Normal file
85
Dockerfile
Normal file
@@ -0,0 +1,85 @@
|
||||
# Multi-stage Dockerfile per Datacenter Documentation System
|
||||
# Stage 1: Build MkDocs documentation
|
||||
FROM python:3.11-slim as docs-builder
|
||||
|
||||
WORKDIR /build
|
||||
|
||||
# Install MkDocs e plugins
|
||||
RUN pip install --no-cache-dir \
|
||||
mkdocs==1.5.3 \
|
||||
mkdocs-material==9.5.3 \
|
||||
mkdocs-git-revision-date-localized-plugin==1.2.2 \
|
||||
mkdocs-minify-plugin==0.7.2 \
|
||||
mkdocs-awesome-pages-plugin==2.9.2 \
|
||||
mkdocs-macros-plugin==1.0.5 \
|
||||
markdown==3.5.1 \
|
||||
pymdown-extensions==10.5
|
||||
|
||||
# Copy documentation source
|
||||
COPY mkdocs.yml /build/
|
||||
COPY docs /build/docs/
|
||||
COPY templates /build/docs/sections/
|
||||
|
||||
# Build documentation
|
||||
RUN mkdocs build --clean --strict
|
||||
|
||||
# Stage 2: Runtime application
|
||||
FROM python:3.11-slim
|
||||
|
||||
LABEL maintainer="automation-team@company.com"
|
||||
LABEL description="Datacenter Documentation Server with FastAPI and MCP"
|
||||
|
||||
# Installinstall system dependencies
|
||||
RUN apt-get update && apt-get install -y \
|
||||
gcc \
|
||||
libpq-dev \
|
||||
openssh-client \
|
||||
snmp \
|
||||
curl \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Copy requirements
|
||||
COPY requirements.txt /app/
|
||||
COPY api/requirements-api.txt /app/
|
||||
|
||||
# Install Python dependencies
|
||||
RUN pip install --no-cache-dir -r requirements.txt \
|
||||
&& pip install --no-cache-dir -r requirements-api.txt
|
||||
|
||||
# Copy application code
|
||||
COPY api/ /app/api/
|
||||
COPY mcp-server/ /app/mcp-server/
|
||||
COPY scripts/ /app/scripts/
|
||||
|
||||
# Copy built documentation from builder stage
|
||||
COPY --from=docs-builder /build/site /app/site
|
||||
|
||||
# Create necessary directories
|
||||
RUN mkdir -p /app/docs/sections /app/config /app/logs
|
||||
|
||||
# Copy sections (templates will be populated by automation)
|
||||
COPY templates/ /app/docs/sections/
|
||||
|
||||
# Create non-root user
|
||||
RUN useradd -m -u 1000 appuser && \
|
||||
chown -R appuser:appuser /app
|
||||
|
||||
USER appuser
|
||||
|
||||
# Expose ports
|
||||
# 8000: FastAPI documentation server
|
||||
# 8001: MCP server
|
||||
EXPOSE 8000 8001
|
||||
|
||||
# Health check
|
||||
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
|
||||
CMD curl -f http://localhost:8000/health || exit 1
|
||||
|
||||
# Startup script
|
||||
COPY --chown=appuser:appuser docker-entrypoint.sh /app/
|
||||
RUN chmod +x /app/docker-entrypoint.sh
|
||||
|
||||
ENTRYPOINT ["/app/docker-entrypoint.sh"]
|
||||
CMD ["server"]
|
||||
Reference in New Issue
Block a user