dockerfile 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. FROM python:3.12-slim-bookworm AS stage-1
  2. ARG TARGETARCH
  3. ARG HUGGINGFACE_MODEL=fish-speech-1.4
  4. ARG HF_ENDPOINT=https://huggingface.co
  5. WORKDIR /opt/fish-speech
  6. RUN set -ex \
  7. && pip install huggingface_hub \
  8. && HF_ENDPOINT=${HF_ENDPOINT} huggingface-cli download --resume-download fishaudio/${HUGGINGFACE_MODEL} --local-dir checkpoints/${HUGGINGFACE_MODEL}
  9. FROM python:3.12-slim-bookworm
  10. ARG TARGETARCH
  11. ARG DEPENDENCIES=" \
  12. ca-certificates \
  13. libsox-dev \
  14. build-essential \
  15. cmake \
  16. ffmpeg"
  17. RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
  18. --mount=type=cache,target=/var/lib/apt,sharing=locked \
  19. set -ex \
  20. && rm -f /etc/apt/apt.conf.d/docker-clean \
  21. && echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' >/etc/apt/apt.conf.d/keep-cache \
  22. && apt-get update \
  23. && apt-get -y install --no-install-recommends ${DEPENDENCIES} \
  24. && echo "no" | dpkg-reconfigure dash
  25. WORKDIR /opt/fish-speech
  26. COPY . .
  27. RUN --mount=type=cache,target=/root/.cache,sharing=locked \
  28. set -ex \
  29. && pip install -e .[stable]
  30. COPY --from=stage-1 /opt/fish-speech/checkpoints /opt/fish-speech/checkpoints
  31. ENV GRADIO_SERVER_NAME="0.0.0.0"
  32. EXPOSE 7860
  33. CMD ["./entrypoint.sh"]