FROM python:3.12-slim

LABEL org.opencontainers.image.source="https://gitea.bigoscloud.com/biggy/django-discord" \
      org.opencontainers.image.url="https://gitea.bigoscloud.com/biggy/django-discord" \
      org.opencontainers.image.title="django-discord" \
      org.opencontainers.image.description="Container image for Django Discord application"

WORKDIR /app

RUN apt-get update && apt-get install -y --no-install-recommends \
    gcc libpq-dev \
    && rm -rf /var/lib/apt/lists/*

COPY requirements.txt .
RUN pip install uv && uv pip install --system -r requirements.txt

COPY . .

RUN mkdir -p /app/media /app/static

EXPOSE 8000

CMD ["sh", "-c", "python manage.py makemigrations chat && python manage.py migrate --noinput && python manage.py init_admin && python manage.py collectstatic --noinput && daphne -b 0.0.0.0 -p 8000 core.asgi:application"]
