FROM python:3.11-slim

WORKDIR /app
COPY Pipfile Pipfile.lock .

RUN pip install pipenv
RUN pipenv install --deploy --system

COPY src src

EXPOSE 8000

# Set environment variables used by the deployment. These can be overridden by the user using this image.
ENV NUM_WORKERS=1
ENV OSM_CACHE_DIR=/cache
ENV MEMCACHED_HOST_PATH=none
ENV LOKI_URL=none

CMD ["fastapi", "src/main.py", "--port", "8000", "--workers", "$NUM_WORKERS"]