myrmidon / python /Dockerfile.agents
tek Atrust
chore(deploy): build monolithic server for Hugging Face
d5ef46f
Raw
History Blame Contribute Delete
1.51 kB
# Agents Service - Lightweight Pydantic AI agents
FROM python:3.12-slim
WORKDIR /app
# Install uv
RUN pip install --no-cache-dir uv
# Copy pyproject.toml for dependency installation
COPY pyproject.toml .
# Install only agent dependencies to system python
RUN uv pip install --system --group agents
# Copy agents code - no dependencies on server code
# Agents use MCP tools for all operations
COPY src/agents/ src/agents/
COPY src/__init__.py src/
# Copy necessary server files for Prompt Governance and Base Repository
# We copy specific directories to ensure all potential dependency paths are covered
COPY src/server/__init__.py src/server/
COPY src/server/config/ src/server/config/
COPY src/server/utils/ src/server/utils/
COPY src/server/repositories/ src/server/repositories/
COPY src/server/services/ src/server/services/
COPY src/server/auth/ src/server/auth/
COPY src/server/schemas/ src/server/schemas/
COPY src/server/models/ src/server/models/
# Set environment variables
ENV PYTHONPATH="/app/src:/app"
ENV PYTHONUNBUFFERED=1
# Expose Agents port
ARG ARCHON_AGENTS_PORT=8052
ENV ARCHON_AGENTS_PORT=${ARCHON_AGENTS_PORT}
EXPOSE 8052
# Health check
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
CMD sh -c "python -c \"import urllib.request; urllib.request.urlopen('http://localhost:8052/health')\""
# Add and use entrypoint script
COPY docker-entrypoint-agents.sh /app/
RUN chmod +x /app/docker-entrypoint-agents.sh
CMD ["/app/docker-entrypoint-agents.sh"]