Initial commit: sheepflix media streaming API

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>
This commit is contained in:
Olive Vaughn 2026-08-26 00:08:01 -04:00
commit 6625e5927e
11 changed files with 603 additions and 0 deletions

28
Dockerfile Normal file
View file

@ -0,0 +1,28 @@
## 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"]