## 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"]
