FROM python:3.13-alpine

# install nginx and runtime deps, plus a build-deps group for uv sync
RUN apk add --no-cache  nginx  libffi  openssl
RUN apk add --no-cache --virtual .build-deps  build-base  libffi-dev  openssl-dev  python3-dev

    # grab uv CLI
RUN mkdir -p /usr/local/bin \
    && wget -qO /usr/local/bin/uv   https://ghcr.io/astral-sh/uv:latest/uv \
    && wget -qO /usr/local/bin/uvx  https://ghcr.io/astral-sh/uv:latest/uvx \
    && chmod +x /usr/local/bin/uv /usr/local/bin/uvx

WORKDIR /app

# install your Python deps
COPY uv.lock pyproject.toml ./
RUN uv sync --frozen --no-cache \
    # drop build tools once deps are in place
    && apk del .build-deps

# copy in the rest of your Django project
COPY . .

# collectstatic
RUN uv run python manage.py collectstatic --noinput

# copy nginx config
COPY nginx.conf /etc/nginx/nginx.conf

EXPOSE 80

# start.sh should launch both nginx and uvicorn
COPY start.sh /start.sh
RUN chmod +x /start.sh

CMD ["/start.sh"]


