# Pull base image
FROM python:3.11-slim

# Set environment variables
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1

# Set work directory
WORKDIR /app

# Install system dependencies: Node.js/npm and Graphviz toolchain for ER diagrams
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        nodejs npm \
        graphviz libgraphviz-dev \
        build-essential pkg-config \
    && rm -rf /var/lib/apt/lists/*

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

# Copy project
COPY . /app/
