stacks/fish-s2: build from dockerfile.dev — upstream has no plain Dockerfile
First fish-s2 deploy attempt failed in step 9/11:
failed to read dockerfile: open dockerfile: no such file or directory
Upstream fishaudio/fish-speech ships:
* dockerfile.dev (lowercase, dev/test image)
* compose.yml + compose.base.yml (intended deploy path:
`docker compose --profile server up`)
There is no standalone production Dockerfile. The dockerfile.dev
image is what their own compose.yml builds from anyway, so building
against it directly is functionally equivalent to using their compose
profile — we just keep our own restart-policy / labels / bind-mount
conventions on the outer compose.
Comment in the build block now documents this so future-Claude doesn't
re-walk the path.
This commit is contained in:
@@ -26,9 +26,16 @@ services:
|
||||
image: local/fish-s2:${FISH_S2_TAG}
|
||||
build:
|
||||
context: https://github.com/fishaudio/fish-speech.git#${FISH_S2_SHA}
|
||||
dockerfile: dockerfile
|
||||
# Upstream ships `dockerfile.dev` (lowercase, dev/test image)
|
||||
# rather than a plain Dockerfile — there is no production
|
||||
# Dockerfile. Their intended path is `docker compose --profile
|
||||
# server up` against their own compose.yml; we use the same
|
||||
# underlying dockerfile.dev image but layer our own compose on
|
||||
# top so it slots into our fleet conventions (restart, labels,
|
||||
# bind mounts, healthcheck).
|
||||
dockerfile: dockerfile.dev
|
||||
args:
|
||||
# Upstream's Dockerfile reads BACKEND to choose CUDA vs CPU
|
||||
# Upstream's dockerfile.dev reads BACKEND to choose CUDA vs CPU
|
||||
# paths during pip install. We always want CUDA on irv-ml1.
|
||||
BACKEND: cuda
|
||||
container_name: fish-s2
|
||||
|
||||
Reference in New Issue
Block a user