cocktail_suggestions / Dockerfile
thuanan's picture
Remove TRANSFORMERS_CACHE environment variable from Dockerfile and start.sh
cbe1e8a
FROM python:3.9-slim
# Create a non-root user
RUN useradd -m -u 1000 user
USER user
# Set home directory and working directory
ENV HOME=/home/user \
PATH=/home/user/.local/bin:$PATH \
PYTHONPATH=$HOME/app \
PYTHONUNBUFFERED=1 \
GRADIO_ALLOW_FLAGGING=never \
GRADIO_NUM_PORTS=1 \
GRADIO_SERVER_NAME=0.0.0.0 \
GRADIO_THEME=huggingface \
SYSTEM=spaces
WORKDIR $HOME/app
# Install system dependencies
USER root
RUN apt-get update && apt-get install -y \
build-essential \
curl \
software-properties-common \
git \
&& rm -rf /var/lib/apt/lists/*
# Switch back to user
USER user
# Set up cache and config directories with proper permissions
RUN mkdir -p $HOME/.cache/huggingface \
&& mkdir -p $HOME/.streamlit \
&& mkdir -p $HOME/.cache/torch
# Set environment variables for caching
ENV HF_HOME=$HOME/.cache/huggingface \
SENTENCE_TRANSFORMERS_HOME=$HOME/.cache/huggingface \
TORCH_HOME=$HOME/.cache/torch
# Copy files
COPY --chown=user requirements.txt ./
COPY --chown=user src/ ./src/
COPY --chown=user start.sh ./
# Make start script executable
RUN chmod +x start.sh
# Install Python dependencies
RUN pip3 install --user -r requirements.txt
# Create Streamlit config
RUN echo "[server]\n\
headless = true\n\
port = 8501\n\
address = \"0.0.0.0\"\n\
\n\
[browser]\n\
gatherUsageStats = false\n\
" > $HOME/.streamlit/config.toml
EXPOSE 8501
HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health
ENTRYPOINT ["./start.sh"]