materials_explorer / Dockerfile
Ramlaoui's picture
Dockerfile
9ae5f66
raw
history blame contribute delete
915 Bytes
# Use the official Python image from Docker Hub
FROM python:3.10-slim
# Install system dependencies
RUN apt-get update && \
apt-get install -y --no-install-recommends \
cmake \
build-essential \
libssl-dev \
&& rm -rf /var/lib/apt/lists/*
# Set the working directory
WORKDIR /app
# Copy requirements and install
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Copy the application code
COPY app.py .
COPY components.py .
COPY data_utils.py .
COPY assets assets
# Expose the port Dash will run on
EXPOSE 7860
# Example of using a build-time secret
RUN --mount=type=secret,id=MATERIALS_PROJECT_API_KEY \
echo "Using secret during build"
# Create the cache directory and set permissions
RUN mkdir -p /app/.cache && chmod -R 777 /app/.cache
# Set an environment variable for Hugging Face cache
ENV HF_HOME=/app/.cache
# Run the app
CMD ["python", "app.py"]