FROM golang:1.25-alpine AS builder WORKDIR /src COPY go.mod go.sum ./ RUN go mod download COPY . . RUN CGO_ENABLED=0 GOOS=linux go build -trimpath -ldflags="-s -w" \ -o /out/jukebox ./cmd/jukebox FROM alpine:3.19 RUN apk add --no-cache tzdata ca-certificates rsync WORKDIR /app COPY --from=builder /out/jukebox . VOLUME ["/media", "/mnt/usb", "/config"] EXPOSE 8080 ENTRYPOINT ["/app/jukebox"] CMD ["--config", "/config/config.json", "--addr", ":8080", "--media", "/media", "--mount", "/mnt/usb"]