# Pull base image
FROM python:3.12.2-bookworm

# Set environment variables
ENV PYTHONUNBUFFERED 1

# Create and set work directory called `app`
RUN mkdir -p /code
WORKDIR /code

# Install dependencies
COPY requirements.txt /tmp/requirements.txt

RUN set -ex && \
    pip install --upgrade pip && \
    pip install -r /tmp/requirements.txt && \
    rm -rf /root/.cache/

# Copy local project
COPY . /code/
COPY .env.production /code/.env
ENV HOME=/code

RUN apt-get update && apt-get install -y nodejs npm xvfb netcat-openbsd

# Install playwright (via pip and install script)
RUN playwright install-deps && playwright install

# Expose port 8000
EXPOSE 8000

RUN python manage.py collectstatic --noinput

#RUN python manage.py loaddata seed/* && python manage.py createcachetable django_cache

# Use gunicorn on port 8000
CMD ["gunicorn", "--bind", ":8000", "django_project.wsgi", "--timeout", "300"]
