dockerfile 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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. RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
  15. --mount=type=cache,target=/var/lib/apt,sharing=locked \
  16. set -ex \
  17. && rm -f /etc/apt/apt.conf.d/docker-clean \
  18. && echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' >/etc/apt/apt.conf.d/keep-cache \
  19. && apt-get update \
  20. && apt-get -y install --no-install-recommends ${DEPENDENCIES} \
  21. && echo "no" | dpkg-reconfigure dash
  22. WORKDIR /opt/fish-speech
  23. COPY . .
  24. RUN --mount=type=cache,target=/root/.cache,sharing=locked \
  25. set -ex \
  26. && pip install -e .[stable]
  27. COPY --from=stage-1 /opt/fish-speech/checkpoints /opt/fish-speech/checkpoints
  28. ENV GRADIO_SERVER_NAME="0.0.0.0"
  29. EXPOSE 7860
  30. CMD ["./entrypoint.sh"]