voice-matcher-api / Dockerfile
arnabg95's picture
v2
fe79a8f
# Use the official Python image
FROM python:3.11
# Set the working directory inside the container
WORKDIR /code
# Install ffmpeg and other dependencies
RUN apt-get update && \
apt-get install -y ffmpeg && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
# Copy the requirements file and install dependencies
COPY ./requirements.txt /code/requirements.txt
RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt
# Create the Hugging Face cache directory, set permissions, and create a non-root user
RUN mkdir -p /.cache/huggingface/hub && \
chmod -R 777 /.cache/huggingface && \
useradd -m nonrootuser
# Set ownership of the .cache directory to the non-root user
RUN chown -R nonrootuser:nonrootuser /.cache/huggingface
# Copy the rest of the application code
COPY . .
# Change ownership of the application code to the non-root user
RUN chown -R nonrootuser:nonrootuser /code
# Switch to the non-root user
USER nonrootuser
# Specify the command to run the application
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "7860"]