# CruxHive PCOS Containerized Fleet Visualizer
FROM python:3.12-slim

WORKDIR /app

# Install system utilities
RUN apt-get update && apt-get install -y --no-install-recommends curl ca-certificates && rm -rf /var/lib/apt/lists/*

# Copy package specification and source code
COPY pyproject.toml README.md ./
COPY src/ ./src/

# Install cruxhive-pcos
RUN pip install --no-cache-dir .

# Default projects directory to discover and monitor
VOLUME ["/data"]

EXPOSE 4100

HEALTHCHECK --interval=30s --timeout=5s --start-period=5s --retries=3 \
  CMD curl -f http://localhost:4100/api/projects || exit 1

ENTRYPOINT ["cruxhive"]
CMD ["serve", "/data", "--port", "4100", "--no-open", "--workspace", "/data"]
