pkmntrade.club/Dockerfile

36 lines
972 B
Docker

# Pull base image
FROM python:3.12.2-bookworm
# Set environment variables (we want to write bytecode as we have multiple workers)
ENV PYTHONUNBUFFERED 1
ENV PYTHONDONTWRITEBYTECODE 0
# 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 nano curl
# Install playwright (via pip and install script)
RUN playwright install-deps && playwright install
# Expose port 8000
EXPOSE 8000
HEALTHCHECK CMD curl --fail http://localhost:8000 || exit 1
# Use gunicorn on port 8000
CMD ["gunicorn", "--bind", ":8000", "django_project.wsgi", "--workers", "4", "--worker-tmp-dir", "/dev/shm", "--timeout", "90"]