mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
50 lines
No EOL
1.7 KiB
Docker
50 lines
No EOL
1.7 KiB
Docker
# Pull base image
|
|
FROM python:3.11.10-slim-bullseye as build-image
|
|
|
|
# Set environment variables
|
|
ENV PYTHONDONTWRITEBYTECODE 1
|
|
ENV PYTHONUNBUFFERED 1
|
|
|
|
# Set work directory to the root of your project
|
|
WORKDIR var/task/Model
|
|
|
|
# Install python dependencies
|
|
COPY ./backend/requirements/requirements.txt ./requirements.txt
|
|
# Install and clean up temp caches
|
|
RUN pip install --upgrade pip \
|
|
&& pip install -r backend/engine/requirements.txt && rm -rf /root/.cache
|
|
|
|
# Since we are not using a base AWS image, there is some additional setup required. We need to set up the runtime
|
|
# interface client
|
|
# https://docs.aws.amazon.com/lambda/latest/dg/python-image.html#python-image-clients
|
|
# Additionally install the AWS Lambda RIC
|
|
RUN pip install awslambdaric
|
|
|
|
# Second stage: "runtime-image"
|
|
FROM python:3.11.10-slim-bullseye
|
|
|
|
# Create the extensions directory to avoid warnings with RIE
|
|
RUN mkdir -p /opt/extensions
|
|
|
|
# Set work directory to the root of your project
|
|
WORKDIR /var/task/Model
|
|
|
|
# Copy the python dependencies from the build-image
|
|
COPY --from=build-image /usr/local/lib/python3.11/site-packages/ /usr/local/lib/python3.11/site-packages/
|
|
|
|
# Copy project files
|
|
COPY ./backend/ ./backend
|
|
COPY ./recommendations/ ./recommendations
|
|
COPY ./utils/ ./utils/
|
|
COPY ./etl/epc/ ./etl/epc/
|
|
COPY ./etl/epc_clean/ ./etl/epc_clean/
|
|
COPY ./etl/bill_savings/ ./etl/bill_savings/
|
|
COPY ./etl/spatial/ ./etl/spatial/
|
|
COPY ./BaseUtility.py ./BaseUtility.py
|
|
COPY ./datatypes/ ./datatypes/
|
|
COPY ./etl/find_my_epc/ ./etl/find_my_epc/
|
|
|
|
# Set the ENTRYPOINT to the AWS Lambda RIC and CMD to your function handler
|
|
ENTRYPOINT [ "/usr/local/bin/python", "-m", "awslambdaric" ]
|
|
# Define the handler location
|
|
CMD ["backend.engine.handler.handler"] |