FROM python:3.11-slim

WORKDIR /app

# Install system dependencies
RUN apt-get update && apt-get install -y \
    curl \
    gnupg \
    lsb-release \
    && rm -rf /var/lib/apt/lists/*

# Add Docker's official GPG key and repository (architecture-aware)
RUN install -m 0755 -d /etc/apt/keyrings \
    && curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc \
    && chmod a+r /etc/apt/keyrings/docker.asc \
    && echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list \
    && apt-get update \
    && apt-get install -y docker-ce-cli


# Copy requirements and install Python dependencies
COPY requirements.txt .
RUN pip install uv
RUN uv pip install --system -r requirements.txt
COPY insights_scheduler/ insights_scheduler/
RUN uv pip install --system -e insights_scheduler/

# Copy application code
COPY insights_worker.py /app
COPY info_worker.py /app

# Ensure prompts cache directory exists
RUN mkdir -p /app/prompts/dynaprompt_generated

# Set Python path
ENV PYTHONPATH=/app 