FROM python:3.11-slim

# Set working directory
WORKDIR /app

# Install system dependencies including qrencode
RUN apt-get update && apt-get install -y \
    gcc \
    default-libmysqlclient-dev \
    pkg-config \
    qrencode \
    && rm -rf /var/lib/apt/lists/*

# Copy requirements first for better caching
COPY requirements.txt .

# Install Python dependencies
RUN pip install --no-cache-dir -r requirements.txt

# Copy application code
COPY . .

# Make scripts executable
RUN chmod +x /app/entrypoint.sh && \
    chmod +x /app/seed_data.py

# Expose port
EXPOSE 8000

# Use entrypoint script
ENTRYPOINT ["/bin/bash", "/app/entrypoint.sh"]