diff --git a/Dockerfile b/Dockerfile index dcc39e1..cda6985 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,20 +2,47 @@ FROM python:3.12-slim AS base WORKDIR /app -# Install system deps +# Instalar dependencias de sistema + Node.js 20 RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential \ + curl \ + ca-certificates \ + gnupg \ + git \ + && mkdir -p /etc/apt/keyrings \ + && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key \ + | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ + && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" \ + > /etc/apt/sources.list.d/nodesource.list \ + && apt-get update \ + && apt-get install -y --no-install-recommends nodejs \ && rm -rf /var/lib/apt/lists/* -# Install Python deps -COPY requirements.txt . +# Instalar dependencias Python +COPY agenticSystem/requirements.txt . RUN pip install --no-cache-dir -r requirements.txt -# Copy source -COPY src/ ./src/ +# Instalar dependencias del MCP server (Node) +COPY agenticSystem/mcp-server/package.json agenticSystem/mcp-server/package-lock.json* ./mcp-server/ +RUN cd mcp-server && npm install --production -# Non-root user -RUN useradd -m appuser && chown -R appuser:appuser /app +# Copiar codigo fuente del MCP server +COPY agenticSystem/mcp-server/ ./mcp-server/ + +# Copiar codigo fuente Python +COPY agenticSystem/src/ ./src/ + +# Copiar configuracion MCP y documentacion +COPY agenticSystem/mcp.json ./mcp.json +COPY agenticSystem/docs/ ./docs/ + +# Crear directorio para mount point de webs +RUN mkdir -p /opt/acai/webs + +# Usuario no-root +RUN useradd -m appuser \ + && chown -R appuser:appuser /app \ + && chown -R appuser:appuser /opt/acai/webs USER appuser EXPOSE 8000