RegGPT-Back-End / Dockerfile
Hammaad
Need to update requirements.txt
ba9f11c
raw
history blame
1.39 kB
# Step 1: Use Python 3.11.9 as required
FROM python:3.11.9
# Step 2: Set up environment variables and timezone configuration
ENV TZ=Asia/Colombo
RUN apt-get update && apt-get install -y libaio1 wget unzip tzdata \
&& ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# Step 4: Add a user for running the app (after installations)
RUN useradd -m -u 1000 user
# Step 5: Create the /app directory and set ownership to the new user
RUN mkdir -p /app && chown -R user:user /app
# Step 6: Switch to non-root user after the directory has the right permissions
USER user
ENV PATH="/home/user/.local/bin:$PATH"
# Step 7: Set up the working directory for the app
WORKDIR /app
# Step 8: Copy the requirements file and install dependencies
COPY --chown=user ./requirements.txt requirements.txt
RUN pip install --no-cache-dir --upgrade -r requirements.txt
# Step 9: Install pipenv and handle pipenv environment
RUN pip install pipenv
COPY --chown=user . /app
RUN pipenv install
# Step 10: Expose the necessary port (7860 for Hugging Face Spaces)
EXPOSE 7860
# Step 11: Set environment variables for the app
ENV APP_HOST=0.0.0.0
ENV APP_PORT=7860
# Step 12: Create logs directory (if necessary)
RUN mkdir -p /app/logs
# Step 13: Run the app using Uvicorn, listening on port 7860
CMD ["cd reggpt"]
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]