FROM python:3.10-slim

WORKDIR /app

# Set environment variables
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
ENV FLASK_APP=app.py

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

# Copy application code
COPY . .

# Create data directory
RUN mkdir -p /app/data

# Fix line endings for entrypoint script (in case of Windows checkout) and make executable
RUN sed -i 's/\r$//' entrypoint.sh && \
    chmod +x entrypoint.sh

# Expose port (default 5000)
EXPOSE 5000

# Use entrypoint script to init db, seed data, and start server
ENTRYPOINT ["./entrypoint.sh"]
