# Base image (multi-arch via buildx)
FROM python:3.10-slim

# Prevents pyc files + enables unbuffered logging
ENV PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1

# Install dependencies
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

# Copy only necessary files (via .dockerignore)
COPY . .

# Create non-root user
RUN adduser --disabled-password --no-create-home --gecos "" appuser \
    && chown -R appuser /app
USER appuser

# Default command
ENTRYPOINT ["python", "src/main.py"]
