Skip to content

Instantly share code, notes, and snippets.

@heathhenley
Created August 9, 2023 15:45
Show Gist options
  • Select an option

  • Save heathhenley/87961a8b58fb476bd3ca55f2e3a6ff46 to your computer and use it in GitHub Desktop.

Select an option

Save heathhenley/87961a8b58fb476bd3ca55f2e3a6ff46 to your computer and use it in GitHub Desktop.
# Use an official lightweight Python image.
# https://hub.docker.com/_/python
FROM python:3.10-slim
ENV APP_HOME /app
WORKDIR $APP_HOME
RUN apt-get update && apt-get install -y binutils gdal-bin
# Removes output stream buffering, allowing for more efficient logging
ENV PYTHONUNBUFFERED 1
# Install dependencies
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Copy local code to the container image.
COPY . .
RUN python manage.py collectstatic
# Run the web service on container startup. Here we use the gunicorn
# webserver, with one worker process and 8 threads.
# For environments with multiple CPU cores, increase the number of workers
# to be equal to the cores available.
# Timeout is set to 0 to disable the timeouts of the workers to allow Cloud Run to handle instance scaling.
CMD exec gunicorn --bind 0.0.0.0:$PORT --workers 1 --threads 8 --timeout 0 myapp.wsgi:application
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment