lilac / Dockerfile
nsthorat-lilac's picture
Duplicate from lilacai/lilac
ddcfeb8
# NOTE: When we upgrade to 3.11 we can use a slimmer docker image which comes with gcc.
FROM python:3.9-bullseye
# Allow statements and log messages to immediately appear in the Knative logs
ENV PYTHONUNBUFFERED True
# See: https://huggingface.co/docs/hub/spaces-sdks-docker#permissions
RUN useradd -m -u 1000 user
USER user
ENV HOME=/home/user \
PATH=/home/user/.local/bin:$PATH
# Set the working directory in the container.
WORKDIR $HOME/app
# Install the dependencies. This requires exporting requirements.txt from poetry first, which
# happens from ./build_docker.sh.
COPY --chown=user requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY --chown=user .env .
COPY --chown=user .env.demo .
# Copy the README so we can read the datasets from the HuggingFace config.
COPY --chown=user README.md .
COPY --chown=user LICENSE .
# Copy python files.
COPY --chown=user /lilac ./lilac/
COPY --chown=user docker_start.sh docker_start.py ./
# Make a local data directory for non-persistent storage demos.
RUN mkdir -p ./data
RUN chown -R user ./data
CMD ["bash", "docker_start.sh"]