9f107b5f80
- fetch: Go CLI tool for searching, downloading, and extracting AKAI sampler ISOs from archive.org - scripts/extract_wavs.sh: Shell script driving akaiutil to convert samples to WAV - Dockerfile: Multi-stage build packaging akaiutil + fetch - third_party/akaiutil: Vendored akaiutil v4.6.7 source (GPLv2) - docs/akaiutil.md: Full akaiutil reference
34 lines
827 B
Docker
34 lines
827 B
Docker
# 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 fetch (Go tool)
|
|
FROM golang:1.26-alpine AS fetch-builder
|
|
|
|
WORKDIR /src
|
|
COPY go.mod main.go /src/
|
|
RUN CGO_ENABLED=0 go build -o /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/*
|
|
|
|
COPY --from=akaiutil-builder /src/akaiutil/akaiutil /usr/local/bin/
|
|
COPY --from=fetch-builder /fetch /usr/local/bin/fetch
|
|
COPY scripts/extract_wavs.sh /usr/local/bin/
|
|
|
|
WORKDIR /data
|
|
ENTRYPOINT ["fetch"]
|
|
CMD ["--help"]
|