# Stage 1: Build akaiutil from source FROM debian:11 AS akaiutil-builder RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential \ && rm -rf /var/lib/apt/lists/* COPY third_party/akaiutil/ /src/akaiutil/ WORKDIR /src/akaiutil RUN make # Stage 2: Build akai-fetch (Go tool) FROM golang:1.26-alpine AS akai-fetch-builder WORKDIR /src COPY go.mod *.go /src/ COPY web/ /src/web/ RUN CGO_ENABLED=0 go build -o /akai-fetch . # Stage 3: Runtime image FROM debian:11-slim RUN apt-get update && apt-get install -y --no-install-recommends \ bash \ ca-certificates \ && rm -rf /var/lib/apt/lists/* RUN mkdir -p /data/output/isos /data/output/wavs COPY --from=akaiutil-builder /src/akaiutil/akaiutil /usr/local/bin/ COPY --from=akai-fetch-builder /akai-fetch /usr/local/bin/akai-fetch COPY scripts/extract_wavs.sh /usr/local/bin/ WORKDIR /data EXPOSE 8080 ENTRYPOINT ["akai-fetch"] CMD ["serve", "-p", "8080", "--host", "0.0.0.0"]