FROM python:3.12-slim

WORKDIR /app

# 1. Install system dependencies
RUN apt-get update && \
    apt-get upgrade -y && \
    apt-get install -y build-essential python3-dev git curl libgl1 libglib2.0-0 libopus0 && \
    rm -rf /var/lib/apt/lists/*

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

COPY . .

# 7. Create a startup script to log versions to docker logs before running the bot
RUN echo '#!/bin/bash\n\
echo "========================================="\n\
echo "      SYSTEM PACKAGE VERSIONS LOG        "\n\
echo "========================================="\n\
echo "-----------------------------------------"\n\
echo "[Git] Path: $(which git)"\n\
git --version\n\
echo "-----------------------------------------"\n\
echo "[Curl] Path: $(which curl)"\n\
curl --version | head -n 1\n\
echo "-----------------------------------------"\n\
echo "[Python] Path: $(which python)"\n\
python --version\n\
echo "========================================="\n\
echo "Starting bot..."\n\
exec python -u main.py\n\
' > /app/start.sh && chmod +x /app/start.sh

# 8. Run the startup script instead of directly running python
CMD ["/app/start.sh"]