Go API for browsing/searching media files with ffprobe metadata, token auth, and go-transcode integration for HLS streaming. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
28 lines
569 B
Docker
28 lines
569 B
Docker
## Stage 1: Build sheepflix-api
|
|
FROM golang:1.23-alpine AS build-api
|
|
WORKDIR /src
|
|
COPY go.mod go.sum ./
|
|
RUN go mod download
|
|
COPY cmd/ cmd/
|
|
COPY internal/ internal/
|
|
RUN CGO_ENABLED=0 go build -o /sheepflix-api ./cmd/sheepflix
|
|
|
|
## Stage 2: Runtime
|
|
FROM alpine:3.20
|
|
|
|
RUN apk add --no-cache \
|
|
ffmpeg \
|
|
libva \
|
|
libva-intel-driver \
|
|
intel-media-driver \
|
|
mesa-va-gallium \
|
|
bash
|
|
|
|
COPY --from=build-api /sheepflix-api /usr/local/bin/sheepflix-api
|
|
|
|
COPY entrypoint.sh /entrypoint.sh
|
|
RUN chmod +x /entrypoint.sh
|
|
|
|
EXPOSE 8091
|
|
|
|
ENTRYPOINT ["/entrypoint.sh"]
|