FROM ubuntu:22.04

# Prevent interactive prompts during package install
ENV DEBIAN_FRONTEND=noninteractive

# ── System packages ──────────────────────────────────────────────────────────
RUN apt-get update && apt-get install -y --no-install-recommends \
    build-essential \
    ca-certificates \
    curl \
    git \
    wget \
    && rm -rf /var/lib/apt/lists/*

# ── Python 3.12 via deadsnakes PPA ───────────────────────────────────────────
RUN apt-get update && apt-get install -y --no-install-recommends \
    software-properties-common \
    && add-apt-repository ppa:deadsnakes/ppa \
    && apt-get update && apt-get install -y --no-install-recommends \
    python3.12 \
    python3.12-venv \
    python3-pip \
    && rm -rf /var/lib/apt/lists/*

# Make python3.12 the default python3
RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.12 1 \
    && update-alternatives --install /usr/bin/python python /usr/bin/python3.12 1

# ── uv (fast Python package installer) ───────────────────────────────────────
RUN curl -Ls https://astral.sh/uv/install.sh | sh
ENV PATH="/root/.local/bin:${PATH}"

# ── Node.js 20 LTS ───────────────────────────────────────────────────────────
RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \
    && apt-get install -y --no-install-recommends nodejs \
    && rm -rf /var/lib/apt/lists/*

# ── daytona user (uid 1000, matching Daytona convention) ─────────────────────
RUN useradd -m -u 1000 -s /bin/bash daytona

# ── steerdev agent (PyPI) — installed as root so it's on PATH for all users ──
RUN pip install --no-cache-dir steerdev

# ── Claude Code CLI (npm global) ─────────────────────────────────────────────
RUN npm install -g @anthropic-ai/claude-code

# ── Startup script ───────────────────────────────────────────────────────────
COPY start-agent.sh /home/daytona/start-agent.sh
RUN chmod 755 /home/daytona/start-agent.sh \
    && chown daytona:daytona /home/daytona/start-agent.sh

# ── Runtime defaults ─────────────────────────────────────────────────────────
USER daytona
WORKDIR /home/daytona

CMD ["/home/daytona/start-agent.sh"]
