credify / Dockerfile
abhisheksan's picture
Refactor Dockerfile to create NUMBA_CACHE_DIR in /tmp with 777 permissions
4fbbf74
raw
history blame contribute delete
897 Bytes
FROM python:3.9.18
WORKDIR /code
RUN apt-get update && apt-get install -y \
libgl1-mesa-glx \
libglib2.0-0 \
libsm6 \
libxext6 \
libxrender-dev \
ffmpeg
COPY ./requirements.txt /code/requirements.txt
RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
RUN mkdir -m 777 /tmp/NUMBA_CACHE_DIR
ENV NUMBA_CACHE_DIR=/tmp/NUMBA_CACHE_DIR/
COPY . /code/
# Expose the secret FIREBASE_KEY_BASE64 at buildtime and save it as a file
RUN --mount=type=secret,id=FIREBASE_KEY_BASE64,mode=0444,required=true \
cat /run/secrets/FIREBASE_KEY_BASE64 | base64 -d > /code/firebase_key.json
# Set the Google Application Credentials environment variable
ENV GOOGLE_APPLICATION_CREDENTIALS="/code/firebase_key.json"
# The FIREBASE_STORAGE_BUCKET will be available at runtime as an environment variable
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "7860"]