diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..3e4bdd9 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,7 @@ +Dockerfile +README.md +*.pyc +*.pyo +*.pyd +__pycache__ +.pytest_cache diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..47bc6ca --- /dev/null +++ b/Dockerfile @@ -0,0 +1,22 @@ + +# Use the official lightweight Python image. +# https://hub.docker.com/_/python +FROM python:3.11-slim + +# Allow statements and log messages to immediately appear in the logs +ENV PYTHONUNBUFFERED True + +# Copy local code to the container image. +ENV APP_HOME /app +WORKDIR $APP_HOME +COPY . ./ + +# Install production dependencies. +RUN pip install --no-cache-dir -r requirements.txt + +# 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 :$PORT --workers 1 --threads 8 --timeout 0 main:app diff --git a/requirements.txt b/requirements.txt index fccf9d7..9e89ccb 100644 Binary files a/requirements.txt and b/requirements.txt differ