speech-to-text / Dockerfile
rbcurzon's picture
Update Dockerfile
7c1a9e8 verified
raw
history blame
1.3 kB
FROM ubuntu:latest
# Use the official Python 3.9 image
FROM python:3.11.11
# Set the working directory to /code
WORKDIR /code
# Copy the current directory contents into the container at /code
COPY ./requirements.txt /code/requirements.txt
# Install requirements.txt
RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
# Set up a new user named "user" with user ID 1000
RUN useradd -m -u 1000 user
# Switch to the "user" user
USER user
# Set home to the user's home directory
ENV HOME=/home/user \
PATH=/home/user/.local/bin:$PATH
# Set the working directory to the user's home directory
WORKDIR $HOME/app
# Try and run pip command after setting the user with `USER user` to avoid permission issues with Python
RUN pip install --no-cache-dir --upgrade pip
USER root
RUN apt-get update && apt-get install -y ffmpeg
# Copy the current directory contents into the container at $HOME/app setting the owner to the user
COPY --chown=user . $HOME/app
RUN git config --global --add safe.directory /home/user/app
# Get secret EXAMPLE and output it to /test at buildtime
RUN --mount=type=secret,id=GENAI_API_KEY,mode=0444,required=true
# Start the FastAPI app on port 7860, the default port expected by Spaces
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]