fix(backend): add ffmpeg to backend image for pocket-tts voice sample generation
Some checks failed
CI / Backend (push) Successful in 29s
CI / UI (push) Successful in 27s
Release / Test backend (push) Successful in 37s
CI / Backend (pull_request) Failing after 11s
Release / Check ui (push) Successful in 49s
Release / Docker / caddy (push) Successful in 57s
CI / UI (pull_request) Successful in 56s
Release / Docker / runner (push) Failing after 1m22s
Release / Docker / backend (push) Failing after 1m46s
Release / Docker / ui (push) Successful in 2m25s
Release / Gitea Release (push) Has been skipped
Some checks failed
CI / Backend (push) Successful in 29s
CI / UI (push) Successful in 27s
Release / Test backend (push) Successful in 37s
CI / Backend (pull_request) Failing after 11s
Release / Check ui (push) Successful in 49s
Release / Docker / caddy (push) Successful in 57s
CI / UI (pull_request) Successful in 56s
Release / Docker / runner (push) Failing after 1m22s
Release / Docker / backend (push) Failing after 1m46s
Release / Docker / ui (push) Successful in 2m25s
Release / Gitea Release (push) Has been skipped
handlePresignVoiceSample generates voice samples on demand via pocket-tts, which requires WAV→MP3 transcoding via ffmpeg. The backend was using distroless/static (no ffmpeg) so all pocket-tts preview requests returned 500. Switch backend stage to Alpine + ffmpeg, matching the runner image.
This commit is contained in:
@@ -30,9 +30,14 @@ RUN --mount=type=cache,target=/root/go/pkg/mod \
|
|||||||
-o /out/healthcheck ./cmd/healthcheck
|
-o /out/healthcheck ./cmd/healthcheck
|
||||||
|
|
||||||
# ── backend service ──────────────────────────────────────────────────────────
|
# ── backend service ──────────────────────────────────────────────────────────
|
||||||
FROM gcr.io/distroless/static:nonroot AS backend
|
# Uses Alpine (not distroless) so ffmpeg is available for on-demand voice
|
||||||
|
# sample generation via pocket-tts (WAV→MP3 transcoding).
|
||||||
|
FROM alpine:3.21 AS backend
|
||||||
|
RUN apk add --no-cache ffmpeg ca-certificates && \
|
||||||
|
addgroup -S appgroup && adduser -S appuser -G appgroup
|
||||||
COPY --from=builder /out/healthcheck /healthcheck
|
COPY --from=builder /out/healthcheck /healthcheck
|
||||||
COPY --from=builder /out/backend /backend
|
COPY --from=builder /out/backend /backend
|
||||||
|
USER appuser
|
||||||
ENTRYPOINT ["/backend"]
|
ENTRYPOINT ["/backend"]
|
||||||
|
|
||||||
# ── runner service ───────────────────────────────────────────────────────────
|
# ── runner service ───────────────────────────────────────────────────────────
|
||||||
|
|||||||
Reference in New Issue
Block a user