29 lines
569 B
Text
29 lines
569 B
Text
|
|
## 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"]
|