Nik Afiq 99b624ef20
All checks were successful
CI / test (push) Successful in 6s
CI / build-ai-gateway (push) Successful in 50s
CI / build-ha-gateway (push) Successful in 50s
CI / build-discord-bot (push) Successful in 1m3s
CI / build-tts-gateway (push) Successful in 5m32s
CI / build-tts-sidecar (push) Successful in 17m17s
feat: add tts-gateway and sidecar Dockerfiles, update CI workflow for TTS builds
2026-07-24 22:55:11 +09:00

33 lines
1.1 KiB
Docker

# Unlike ha-gateway/ai-gateway/discord-bot, tts-gateway needs `ffmpeg` and the
# `open_jtalk` CLI (+ dictionary + voice) present at runtime, which rules out
# a distroless base - hence the Ubuntu runtime stage below instead. Model
# artifact distribution for the inference sidecar (tts-gateway/sidecar/) is
# still an open decision (TTS_GATEWAY_PLAN.md Phase 5); this image is only the
# Go gateway, which has no model weights to worry about.
FROM golang:1.26-bookworm AS builder
WORKDIR /workspace
COPY go.work go.work.sum ./
COPY gen/ ./gen/
COPY ai-gateway/ ./ai-gateway/
COPY ha-gateway/ ./ha-gateway/
COPY discord-bot/ ./discord-bot/
COPY tts-gateway/ ./tts-gateway/
WORKDIR /workspace/tts-gateway
RUN go mod download
RUN CGO_ENABLED=0 GOOS=linux go build -o /tts-gateway ./cmd/gateway
FROM ubuntu:22.04
RUN apt-get update && apt-get install -y --no-install-recommends \
ffmpeg \
open-jtalk \
open-jtalk-mecab-naist-jdic \
hts-voice-nitech-jp-atr503-m001 \
ca-certificates \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /tts-gateway /tts-gateway
EXPOSE 50053
ENTRYPOINT ["/tts-gateway"]