Namespace
fishaudio
Image / Tag
fish-speech:server-cuda-v2.0.0-beta
Content Digest
sha256:882a5541959a3dc2ac7e72fee04a8c4e740cb282f2bdb6c282346b021b99bbf0
Details
Created

2026-03-10 15:20:56 UTC

Size

4.91 GB

Content Digest
Labels
  • com.nvidia.cudnn.version
    9.3.0.75-1
  • maintainer
    NVIDIA CORPORATION <cudatools@nvidia.com>
  • org.opencontainers.image.ref.name
    ubuntu
  • org.opencontainers.image.version
    24.04

Environment
API_SERVER_NAME

0.0.0.0

API_SERVER_PORT

8080

BACKEND

cuda

CUDA_VERSION

12.6.0

DEBIAN_FRONTEND

noninteractive

DECODER_CHECKPOINT_PATH

checkpoints/s2-pro/codec.pth

DECODER_CONFIG_NAME

modded_dac_vq

LD_LIBRARY_PATH

/usr/local/nvidia/lib:/usr/local/nvidia/lib64

LLAMA_CHECKPOINT_PATH

checkpoints/s2-pro

NCCL_VERSION

2.22.3-1

NVARCH

x86_64

NVIDIA_DRIVER_CAPABILITIES

compute,utility

NVIDIA_PRODUCT_NAME

CUDA

NVIDIA_REQUIRE_CUDA

cuda>=12.6 brand=unknown,driver>=470,driver<471 brand=grid,driver>=470,driver<471 brand=tesla,driver>=470,driver<471 brand=nvidia,driver>=470,driver<471 brand=quadro,driver>=470,driver<471 brand=quadrortx,driver>=470,driver<471 brand=nvidiartx,driver>=470,driver<471 brand=vapps,driver>=470,driver<471 brand=vpc,driver>=470,driver<471 brand=vcs,driver>=470,driver<471 brand=vws,driver>=470,driver<471 brand=cloudgaming,driver>=470,driver<471 brand=unknown,driver>=535,driver<536 brand=grid,driver>=535,driver<536 brand=tesla,driver>=535,driver<536 brand=nvidia,driver>=535,driver<536 brand=quadro,driver>=535,driver<536 brand=quadrortx,driver>=535,driver<536 brand=nvidiartx,driver>=535,driver<536 brand=vapps,driver>=535,driver<536 brand=vpc,driver>=535,driver<536 brand=vcs,driver>=535,driver<536 brand=vws,driver>=535,driver<536 brand=cloudgaming,driver>=535,driver<536 brand=unknown,driver>=550,driver<551 brand=grid,driver>=550,driver<551 brand=tesla,driver>=550,driver<551 brand=nvidia,driver>=550,driver<551 brand=quadro,driver>=550,driver<551 brand=quadrortx,driver>=550,driver<551 brand=nvidiartx,driver>=550,driver<551 brand=vapps,driver>=550,driver<551 brand=vpc,driver>=550,driver<551 brand=vcs,driver>=550,driver<551 brand=vws,driver>=550,driver<551 brand=cloudgaming,driver>=550,driver<551

NVIDIA_VISIBLE_DEVICES

all

NV_CUDA_CUDART_VERSION

12.6.37-1

NV_CUDA_LIB_VERSION

12.6.0-1

NV_CUDNN_PACKAGE

libcudnn9-cuda-12=9.3.0.75-1

NV_CUDNN_PACKAGE_NAME

libcudnn9-cuda-12

NV_CUDNN_VERSION

9.3.0.75-1

NV_LIBCUBLAS_PACKAGE

libcublas-12-6=12.6.0.22-1

NV_LIBCUBLAS_PACKAGE_NAME

libcublas-12-6

NV_LIBCUBLAS_VERSION

12.6.0.22-1

NV_LIBCUSPARSE_VERSION

12.5.2.23-1

NV_LIBNCCL_PACKAGE

libnccl2=2.22.3-1+cuda12.6

NV_LIBNCCL_PACKAGE_NAME

libnccl2

NV_LIBNCCL_PACKAGE_VERSION

2.22.3-1

NV_LIBNPP_PACKAGE

libnpp-12-6=12.3.1.23-1

NV_LIBNPP_VERSION

12.3.1.23-1

NV_NVTX_VERSION

12.6.37-1

PATH

/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

PYTHONDONTWRITEBYTECODE

1

PYTHONUNBUFFERED

1


Layers

[#000] sha256:771c85dd97688f85b2816465e5e38c35d259d9541d77148efbe3f196e4a55736 - 0.52% (26 MB)

[#001] sha256:fe56da15da12126805e982b239b7f6e6c400f7e8eb618f60d5546b3bc793b636 - 0.13% (6.42 MB)

[#002] sha256:185302197f6906a1d5d46162f773fe00de76d9bf7e552de5cadb4100ab990a92 - 0.97% (48.8 MB)

[#003] sha256:85a407e7444d592cacbb4fa6fd80ce069efa7307b73d519ef87748d874c2cbba - 0.0% (169 Bytes)

[#004] sha256:293cb4340ffaebf1398d7514d03874cbb60d2be691125247bafdf35173eeb130 - 0.0% (7.04 KB)

[#005] sha256:3c19395b588749ae56cb1786e04a22f85a30c70016ede30edd913ccdfd15eb1f - 21.67% (1.06 GB)

[#006] sha256:73742cac066ecd8af9eaee8e42606359d45475921c67e7d51a8dd29b5c792e7f - 0.0% (30.6 KB)

[#007] sha256:589a1cf1d3bfd0daa68180cdd14038bf24a1a0c3d8657741752fa1a6636f4f00 - 0.0% (1.68 KB)

[#008] sha256:6a5d95bd245a17392ac951777318d8bcdb3881c69e08f2f4dddc2576280cc8a8 - 0.0% (1.53 KB)

[#009] sha256:ed2439c6e139414448c81c97e1ab85e5d9b3b5c880c04b6e530939d87fa1bcfc - 9.52% (479 MB)

[#010] sha256:b375768b9f1123e0d654e0c891445077f9368b34c15b3334623e78e3e3648795 - 1.12% (56.4 MB)

[#011] sha256:1029928c5d10efacc4e13f3735ca0e47a232ff34b0a4885c4f2709e0c364f492 - 4.94% (248 MB)

[#012] sha256:cb97b82fead827394d6fbb01cd9310319dab6ae05db511ececfbbbd45adb7ced - 0.37% (18.4 MB)

[#013] sha256:525b8f20c5e5b53f95973ec668edc164e1bd75101da71c879192956ba3b4645f - 0.0% (164 Bytes)

[#014] sha256:743d14deee476bdc10c4d0f8a05345058af12ffd6a0578c51e5e9cd0725dbb65 - 0.0% (120 Bytes)

[#015] sha256:2c1ce468d9f3d941396801f6e3afc8921466650dd05430fe644cd3537713d27f - 0.0% (16 Bytes)

[#016] sha256:51ed7612a9ecef14f7e7fd183bb67202ec96c7b60ce48885206dcffe4876d6bd - 0.01% (264 KB)

[#017] sha256:38a01b487768160b4451d7249203a209ef74b5a94f105b025238cfc3e3210388 - 60.54% (2.97 GB)

[#018] sha256:14cd745f487ce4e0ae7a51a8456fb1cd1df5cb56d520753f7daf7f68ec1839db - 0.23% (11.7 MB)

[#019] sha256:3caceacef8fd0f804fcd6e34d0d583e4aaf479b3f3c9cf43e8431b3d982b7249 - 0.0% (98 KB)

[#020] sha256:ea2c5d6ab52c6b0f3eef0881eeab766e89e84135e2093c7277f1aebdab9e46dd - 0.0% (788 Bytes)

[#021] sha256:0df1bf351f08d2757d76115ee197c792dec133ffe6d5f88c1774169a597893bd - 0.0% (441 Bytes)


History
2024-06-07 12:00:06 UTC

/bin/sh -c #(nop) ARG RELEASE

2024-06-07 12:00:06 UTC

/bin/sh -c #(nop) ARG LAUNCHPAD_BUILD_ARCH

2024-06-07 12:00:06 UTC

/bin/sh -c #(nop) LABEL org.opencontainers.image.ref.name=ubuntu

2024-06-07 12:00:06 UTC

/bin/sh -c #(nop) LABEL org.opencontainers.image.version=24.04

2024-06-07 12:00:08 UTC

/bin/sh -c #(nop) ADD file:5601f441718b0d192d73394b35fd07675342837ec9089ddd52dd1dc0de79630e in /

2024-06-07 12:00:09 UTC

/bin/sh -c #(nop) CMD ["/bin/bash"]

2024-08-09 17:37:57 UTC (buildkit.dockerfile.v0)

ENV NVARCH=x86_64

2024-08-09 17:37:57 UTC (buildkit.dockerfile.v0)

ENV NVIDIA_REQUIRE_CUDA=cuda>=12.6 brand=unknown,driver>=470,driver<471 brand=grid,driver>=470,driver<471 brand=tesla,driver>=470,driver<471 brand=nvidia,driver>=470,driver<471 brand=quadro,driver>=470,driver<471 brand=quadrortx,driver>=470,driver<471 brand=nvidiartx,driver>=470,driver<471 brand=vapps,driver>=470,driver<471 brand=vpc,driver>=470,driver<471 brand=vcs,driver>=470,driver<471 brand=vws,driver>=470,driver<471 brand=cloudgaming,driver>=470,driver<471 brand=unknown,driver>=535,driver<536 brand=grid,driver>=535,driver<536 brand=tesla,driver>=535,driver<536 brand=nvidia,driver>=535,driver<536 brand=quadro,driver>=535,driver<536 brand=quadrortx,driver>=535,driver<536 brand=nvidiartx,driver>=535,driver<536 brand=vapps,driver>=535,driver<536 brand=vpc,driver>=535,driver<536 brand=vcs,driver>=535,driver<536 brand=vws,driver>=535,driver<536 brand=cloudgaming,driver>=535,driver<536 brand=unknown,driver>=550,driver<551 brand=grid,driver>=550,driver<551 brand=tesla,driver>=550,driver<551 brand=nvidia,driver>=550,driver<551 brand=quadro,driver>=550,driver<551 brand=quadrortx,driver>=550,driver<551 brand=nvidiartx,driver>=550,driver<551 brand=vapps,driver>=550,driver<551 brand=vpc,driver>=550,driver<551 brand=vcs,driver>=550,driver<551 brand=vws,driver>=550,driver<551 brand=cloudgaming,driver>=550,driver<551

2024-08-09 17:37:57 UTC (buildkit.dockerfile.v0)

ENV NV_CUDA_CUDART_VERSION=12.6.37-1

2024-08-09 17:37:57 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH

2024-08-09 17:37:57 UTC (buildkit.dockerfile.v0)

LABEL maintainer=NVIDIA CORPORATION <cudatools@nvidia.com>

2024-08-09 17:37:57 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=amd64 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends gnupg2 curl ca-certificates && curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/${NVARCH}/3bf863cc.pub | apt-key add - && echo "deb https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/${NVARCH} /" > /etc/apt/sources.list.d/cuda.list && apt-get purge --autoremove -y curl && rm -rf /var/lib/apt/lists/* # buildkit

2024-08-09 17:37:57 UTC (buildkit.dockerfile.v0)

ENV CUDA_VERSION=12.6.0

2024-08-09 17:38:07 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=amd64 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends cuda-cudart-12-6=${NV_CUDA_CUDART_VERSION} cuda-compat-12-6 && rm -rf /var/lib/apt/lists/* # buildkit

2024-08-09 17:38:07 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=amd64 /bin/sh -c echo "/usr/local/nvidia/lib" >> /etc/ld.so.conf.d/nvidia.conf && echo "/usr/local/nvidia/lib64" >> /etc/ld.so.conf.d/nvidia.conf # buildkit

2024-08-09 17:38:07 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2024-08-09 17:38:07 UTC (buildkit.dockerfile.v0)

ENV LD_LIBRARY_PATH=/usr/local/nvidia/lib:/usr/local/nvidia/lib64

2024-08-09 17:38:07 UTC (buildkit.dockerfile.v0)

COPY NGC-DL-CONTAINER-LICENSE / # buildkit

2024-08-09 17:38:07 UTC (buildkit.dockerfile.v0)

ENV NVIDIA_VISIBLE_DEVICES=all

2024-08-09 17:38:07 UTC (buildkit.dockerfile.v0)

ENV NVIDIA_DRIVER_CAPABILITIES=compute,utility

2024-08-09 17:49:34 UTC (buildkit.dockerfile.v0)

ENV NV_CUDA_LIB_VERSION=12.6.0-1

2024-08-09 17:49:34 UTC (buildkit.dockerfile.v0)

ENV NV_NVTX_VERSION=12.6.37-1

2024-08-09 17:49:34 UTC (buildkit.dockerfile.v0)

ENV NV_LIBNPP_VERSION=12.3.1.23-1

2024-08-09 17:49:34 UTC (buildkit.dockerfile.v0)

ENV NV_LIBNPP_PACKAGE=libnpp-12-6=12.3.1.23-1

2024-08-09 17:49:34 UTC (buildkit.dockerfile.v0)

ENV NV_LIBCUSPARSE_VERSION=12.5.2.23-1

2024-08-09 17:49:34 UTC (buildkit.dockerfile.v0)

ENV NV_LIBCUBLAS_PACKAGE_NAME=libcublas-12-6

2024-08-09 17:49:34 UTC (buildkit.dockerfile.v0)

ENV NV_LIBCUBLAS_VERSION=12.6.0.22-1

2024-08-09 17:49:34 UTC (buildkit.dockerfile.v0)

ENV NV_LIBCUBLAS_PACKAGE=libcublas-12-6=12.6.0.22-1

2024-08-09 17:49:34 UTC (buildkit.dockerfile.v0)

ENV NV_LIBNCCL_PACKAGE_NAME=libnccl2

2024-08-09 17:49:34 UTC (buildkit.dockerfile.v0)

ENV NV_LIBNCCL_PACKAGE_VERSION=2.22.3-1

2024-08-09 17:49:34 UTC (buildkit.dockerfile.v0)

ENV NCCL_VERSION=2.22.3-1

2024-08-09 17:49:34 UTC (buildkit.dockerfile.v0)

ENV NV_LIBNCCL_PACKAGE=libnccl2=2.22.3-1+cuda12.6

2024-08-09 17:49:34 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH

2024-08-09 17:49:34 UTC (buildkit.dockerfile.v0)

LABEL maintainer=NVIDIA CORPORATION <cudatools@nvidia.com>

2024-08-09 17:49:34 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=amd64 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends cuda-libraries-12-6=${NV_CUDA_LIB_VERSION} ${NV_LIBNPP_PACKAGE} cuda-nvtx-12-6=${NV_NVTX_VERSION} libcusparse-12-6=${NV_LIBCUSPARSE_VERSION} ${NV_LIBCUBLAS_PACKAGE} ${NV_LIBNCCL_PACKAGE} && rm -rf /var/lib/apt/lists/* # buildkit

2024-08-09 17:49:34 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=amd64 /bin/sh -c apt-mark hold ${NV_LIBCUBLAS_PACKAGE_NAME} ${NV_LIBNCCL_PACKAGE_NAME} # buildkit

2024-08-09 17:49:34 UTC (buildkit.dockerfile.v0)

COPY entrypoint.d/ /opt/nvidia/entrypoint.d/ # buildkit

2024-08-09 17:49:34 UTC (buildkit.dockerfile.v0)

COPY nvidia_entrypoint.sh /opt/nvidia/ # buildkit

2024-08-09 17:49:34 UTC (buildkit.dockerfile.v0)

ENV NVIDIA_PRODUCT_NAME=CUDA

2024-08-09 17:49:34 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/opt/nvidia/nvidia_entrypoint.sh"]

2024-08-09 18:11:46 UTC (buildkit.dockerfile.v0)

ENV NV_CUDNN_VERSION=9.3.0.75-1

2024-08-09 18:11:46 UTC (buildkit.dockerfile.v0)

ENV NV_CUDNN_PACKAGE_NAME=libcudnn9-cuda-12

2024-08-09 18:11:46 UTC (buildkit.dockerfile.v0)

ENV NV_CUDNN_PACKAGE=libcudnn9-cuda-12=9.3.0.75-1

2024-08-09 18:11:46 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH

2024-08-09 18:11:46 UTC (buildkit.dockerfile.v0)

LABEL maintainer=NVIDIA CORPORATION <cudatools@nvidia.com>

2024-08-09 18:11:46 UTC (buildkit.dockerfile.v0)

LABEL com.nvidia.cudnn.version=9.3.0.75-1

2024-08-09 18:11:46 UTC (buildkit.dockerfile.v0)

RUN |1 TARGETARCH=amd64 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends ${NV_CUDNN_PACKAGE} && apt-mark hold ${NV_CUDNN_PACKAGE_NAME} && rm -rf /var/lib/apt/lists/* # buildkit

2025-10-23 07:13:20 UTC (buildkit.dockerfile.v0)

ENV DEBIAN_FRONTEND=noninteractive

2025-10-23 07:13:20 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux && rm -f /etc/apt/apt.conf.d/docker-clean && echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' >/etc/apt/apt.conf.d/keep-cache && apt-get update && apt-get install -y --no-install-recommends python3-pip python3-dev git ca-certificates curl && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit

2025-10-23 07:13:20 UTC (buildkit.dockerfile.v0)

ARG PY_VER=3.12

2025-10-23 07:13:20 UTC (buildkit.dockerfile.v0)

ARG BACKEND=cuda

2025-10-23 07:13:20 UTC (buildkit.dockerfile.v0)

ARG USERNAME=fish

2025-10-23 07:13:20 UTC (buildkit.dockerfile.v0)

ARG USER_UID=1000

2025-10-23 07:13:20 UTC (buildkit.dockerfile.v0)

ARG USER_GID=1000

2025-10-23 07:13:20 UTC (buildkit.dockerfile.v0)

ARG UV_VERSION=0.8.15

2025-10-23 07:13:20 UTC (buildkit.dockerfile.v0)

ARG UV_EXTRA=cu126

2025-10-23 07:13:20 UTC (buildkit.dockerfile.v0)

ENV BACKEND=cuda DEBIAN_FRONTEND=noninteractive PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1

2025-10-23 07:13:20 UTC (buildkit.dockerfile.v0)

ARG DEPENDENCIES= libsox-dev build-essential cmake libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0 ffmpeg

2025-10-23 07:13:40 UTC (buildkit.dockerfile.v0)

RUN |8 PY_VER=3.12 BACKEND=cuda USERNAME=fish USER_UID=1000 USER_GID=1000 UV_VERSION=0.8.15 UV_EXTRA=cu126 DEPENDENCIES= libsox-dev build-essential cmake libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0 ffmpeg /bin/sh -c set -eux && rm -f /etc/apt/apt.conf.d/docker-clean && echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' >/etc/apt/apt.conf.d/keep-cache && apt-get update && apt-get install -y --no-install-recommends ${DEPENDENCIES} && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit

2025-10-23 07:13:40 UTC (buildkit.dockerfile.v0)

COPY /uv /uvx /bin/ # buildkit

2025-10-23 07:13:40 UTC (buildkit.dockerfile.v0)

RUN |8 PY_VER=3.12 BACKEND=cuda USERNAME=fish USER_UID=1000 USER_GID=1000 UV_VERSION=0.8.15 UV_EXTRA=cu126 DEPENDENCIES= libsox-dev build-essential cmake libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0 ffmpeg /bin/sh -c set -eux; if getent group ${USER_GID} >/dev/null 2>&1; then echo "Group ${USER_GID} already exists"; else groupadd -g ${USER_GID} ${USERNAME}; fi; if id -u ${USER_UID} >/dev/null 2>&1; then echo "User ${USER_UID} already exists, using existing user"; EXISTING_USER=$(id -un ${USER_UID}); mkdir -p /app /home/${EXISTING_USER}/.cache; chown -R ${USER_UID}:${USER_GID} /app /home/${EXISTING_USER}/.cache; else useradd -m -u ${USER_UID} -g ${USER_GID} ${USERNAME}; mkdir -p /app /home/${USERNAME}/.cache; chown -R ${USERNAME}:${USERNAME} /app /home/${USERNAME}/.cache; fi # buildkit

2025-10-23 07:13:41 UTC (buildkit.dockerfile.v0)

RUN |8 PY_VER=3.12 BACKEND=cuda USERNAME=fish USER_UID=1000 USER_GID=1000 UV_VERSION=0.8.15 UV_EXTRA=cu126 DEPENDENCIES= libsox-dev build-essential cmake libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0 ffmpeg /bin/sh -c mkdir -p /app/references && chown -R ${USER_UID}:${USER_GID} /app/references && chmod 755 /app/references # buildkit

2025-10-23 07:13:41 UTC (buildkit.dockerfile.v0)

WORKDIR /app

2026-03-10 15:20:17 UTC (buildkit.dockerfile.v0)

COPY --chown=1000:1000 pyproject.toml uv.lock README.md ./ # buildkit

2026-03-10 15:20:17 UTC (buildkit.dockerfile.v0)

USER 1000:1000

2026-03-10 15:20:53 UTC (buildkit.dockerfile.v0)

RUN |8 PY_VER=3.12 BACKEND=cuda USERNAME=fish USER_UID=1000 USER_GID=1000 UV_VERSION=0.8.15 UV_EXTRA=cu126 DEPENDENCIES= libsox-dev build-essential cmake libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0 ffmpeg /bin/sh -c uv python pin ${PY_VER} && uv sync --extra ${UV_EXTRA} --frozen --no-install-project # buildkit

2026-03-10 15:20:54 UTC (buildkit.dockerfile.v0)

COPY --chown=1000:1000 . . # buildkit

2026-03-10 15:20:56 UTC (buildkit.dockerfile.v0)

RUN |8 PY_VER=3.12 BACKEND=cuda USERNAME=fish USER_UID=1000 USER_GID=1000 UV_VERSION=0.8.15 UV_EXTRA=cu126 DEPENDENCIES= libsox-dev build-essential cmake libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0 ffmpeg /bin/sh -c uv sync --extra ${UV_EXTRA} --frozen # buildkit

2026-03-10 15:20:56 UTC (buildkit.dockerfile.v0)

RUN |8 PY_VER=3.12 BACKEND=cuda USERNAME=fish USER_UID=1000 USER_GID=1000 UV_VERSION=0.8.15 UV_EXTRA=cu126 DEPENDENCIES= libsox-dev build-essential cmake libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0 ffmpeg /bin/sh -c printf '%s\n' '#!/bin/bash' 'set -euo pipefail' '' '# Set user info from build args' 'USER_UID='${USER_UID} 'USER_GID='${USER_GID} '' '# Logging function' 'log() { echo "[$(date +"%Y-%m-%d %H:%M:%S")] $*" >&2; }' '' '# Validate environment' 'validate_env() {' ' if [ ! -d "/app/checkpoints" ]; then' ' log "WARNING: /app/checkpoints directory not found. Please mount your checkpoints."' ' fi' ' if [ ! -d "/app/references" ]; then' ' log "WARNING: /app/references directory not found. Please mount your references."' ' else' ' # Check if we can write to references directory' ' if [ ! -w "/app/references" ]; then' ' log "ERROR: Cannot write to /app/references directory. Please ensure the mounted directory has proper permissions for user with UID ${USER_UID}."' ' log "You can fix this by running: sudo chown -R ${USER_UID}:${USER_GID} /path/to/your/references"' ' exit 1' ' fi' ' fi' '}' '' '# Build device arguments' 'build_device_args() {' ' if [ "${BACKEND:-}" = "cpu" ]; then' ' echo "--device cpu"' ' fi' '}' '' '# Build compile arguments' 'build_compile_args() {' ' if [ "${1:-}" = "compile" ] || [ "${COMPILE:-}" = "1" ] || [ "${COMPILE:-}" = "true" ]; then' ' echo "--compile"' ' shift' ' fi' ' echo "$@"' '}' '' '# Health check function' 'health_check() {' ' local port=${1:-7860}' ' local endpoint=${2:-/health}' ' curl -f http://localhost:${port}${endpoint} 2>/dev/null || exit 1' '}' > /app/common.sh && chmod +x /app/common.sh # buildkit

2026-03-10 15:20:56 UTC (buildkit.dockerfile.v0)

ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1

2026-03-10 15:20:56 UTC (buildkit.dockerfile.v0)

ARG API_SERVER_NAME=0.0.0.0

2026-03-10 15:20:56 UTC (buildkit.dockerfile.v0)

ARG API_SERVER_PORT=8080

2026-03-10 15:20:56 UTC (buildkit.dockerfile.v0)

ARG LLAMA_CHECKPOINT_PATH=checkpoints/s2-pro

2026-03-10 15:20:56 UTC (buildkit.dockerfile.v0)

ARG DECODER_CHECKPOINT_PATH=checkpoints/s2-pro/codec.pth

2026-03-10 15:20:56 UTC (buildkit.dockerfile.v0)

ARG DECODER_CONFIG_NAME=modded_dac_vq

2026-03-10 15:20:56 UTC (buildkit.dockerfile.v0)

EXPOSE [8080/tcp]

2026-03-10 15:20:56 UTC (buildkit.dockerfile.v0)

ENV API_SERVER_NAME=0.0.0.0

2026-03-10 15:20:56 UTC (buildkit.dockerfile.v0)

ENV API_SERVER_PORT=8080

2026-03-10 15:20:56 UTC (buildkit.dockerfile.v0)

ENV LLAMA_CHECKPOINT_PATH=checkpoints/s2-pro

2026-03-10 15:20:56 UTC (buildkit.dockerfile.v0)

ENV DECODER_CHECKPOINT_PATH=checkpoints/s2-pro/codec.pth

2026-03-10 15:20:56 UTC (buildkit.dockerfile.v0)

ENV DECODER_CONFIG_NAME=modded_dac_vq

2026-03-10 15:20:56 UTC (buildkit.dockerfile.v0)

RUN |13 PY_VER=3.12 BACKEND=cuda USERNAME=fish USER_UID=1000 USER_GID=1000 UV_VERSION=0.8.15 UV_EXTRA=cu126 DEPENDENCIES= libsox-dev build-essential cmake libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0 ffmpeg API_SERVER_NAME=0.0.0.0 API_SERVER_PORT=8080 LLAMA_CHECKPOINT_PATH=checkpoints/s2-pro DECODER_CHECKPOINT_PATH=checkpoints/s2-pro/codec.pth DECODER_CONFIG_NAME=modded_dac_vq /bin/sh -c printf '%s\n' '#!/bin/bash' 'source /app/common.sh' '' 'log "Starting Fish Speech API Server..."' 'validate_env' '' 'DEVICE_ARGS=$(build_device_args)' 'COMPILE_ARGS=$(build_compile_args "$@")' '' 'log "Device args: ${DEVICE_ARGS:-none}"' 'log "Compile args: ${COMPILE_ARGS}"' 'log "Server: ${API_SERVER_NAME}:${API_SERVER_PORT}"' '' 'exec uv run tools/api_server.py \' ' --listen "${API_SERVER_NAME}:${API_SERVER_PORT}" \' ' --llama-checkpoint-path "${LLAMA_CHECKPOINT_PATH}" \' ' --decoder-checkpoint-path "${DECODER_CHECKPOINT_PATH}" \' ' --decoder-config-name "${DECODER_CONFIG_NAME}" \' ' ${DEVICE_ARGS} ${COMPILE_ARGS}' > /app/start_server.sh && chmod +x /app/start_server.sh # buildkit

2026-03-10 15:20:56 UTC (buildkit.dockerfile.v0)

HEALTHCHECK &{["CMD-SHELL" "curl -f http://localhost:${API_SERVER_PORT}/v1/health || exit 1"] "30s" "10s" "1m0s" "0s" '\x03'}

2026-03-10 15:20:56 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/app/start_server.sh"]

Danger Zone
Delete Tag

Please be careful as this will not just delete the reference but also the actual content!

For example when you have latest and v1.2.3 both pointing to the same image
the deletion of latest will also permanently remove v1.2.3.

Delete