You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

42 lines
881 B

FROM python:3.9
# Environment Variables
ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
ENV PYTHONPATH=/app
# Setting pip timeout globally via environment variable is often more reliable
ENV PIP_DEFAULT_TIMEOUT=1000
WORKDIR /app
# Install dependencies
COPY requirements.txt .
# Adding --retries helps if the connection drops during the 800MB download
RUN pip install --upgrade pip && \
pip install --no-cache-dir --timeout=1000 --retries 10 -r requirements.txt
# Copy code
COPY src/ ./src/
COPY config/ ./config/
COPY scripts/ ./scripts/
COPY data/ ./data/
COPY tests/ ./tests/
# Port FastAPI
EXPOSE 8081
# Copy the entrypoint script
COPY entrypoint.sh /app/entrypoint.sh
# Make it executable (Crucial!)
RUN chmod +x /app/entrypoint.sh
# Set the Entrypoint
ENTRYPOINT ["/app/entrypoint.sh"]
# Default command - can be overridden
CMD ["python", "src/main.py"]