FROM python:3.11-slim
WORKDIR /app

RUN apt-get update && apt-get install -y --no-install-recommends git ffmpeg && rm -rf /var/lib/apt/lists/*

# Install common + core as local packages (no more git+https)
COPY common/ /tmp/common/
COPY core/ /tmp/core/
RUN pip install --no-cache-dir /tmp/common/ /tmp/core/ && rm -rf /tmp/common /tmp/core

# Install L1 dependencies
COPY l1/requirements.txt .
ARG CACHEBUST=1
RUN pip install --no-cache-dir -r requirements.txt

# Copy L1 application
COPY l1/ .

# Build client tarball from local client/ dir
COPY client/ /tmp/artdag-client/
RUN cd /tmp && tar -czf /app/artdag-client.tar.gz artdag-client && rm -rf /tmp/artdag-client

# Clone effects repo (still external)
RUN git clone https://git.rose-ash.com/art-dag/effects.git /app/artdag-effects

RUN mkdir -p /data/cache

ENV PYTHONUNBUFFERED=1
ENV PYTHONDONTWRITEBYTECODE=1
ENV EFFECTS_PATH=/app/artdag-effects
ENV PYTHONPATH=/app

CMD ["python", "server.py"]
