materials_explorer / Dockerfile
Ramlaoui's picture
Update Dockerfile
b0471af
raw
history blame
1.03 kB
# 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 the preprocessing script
COPY create_index.py .
# 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
# Create the index
RUN --mount=type=secret,id=HF_TOKEN \
HF_TOKEN=$(cat /run/secrets/HF_TOKEN) python create_index.py
# Set an environment variable for Hugging Face cache
ENV HF_HOME=/app/.cache
# Run the app
CMD ["python", "app.py"]