# Build context: repo root (../../..)
# docker build -f deployments/docker/omnix-broadcast/Dockerfile -t omnix-broadcast .

FROM golang:1.25-alpine AS builder

RUN apk add --no-cache git

WORKDIR /src

COPY go.work go.work.sum ./
COPY framework ./framework
COPY services/omnix-broadcast ./services/omnix-broadcast
COPY services/template-service ./services/template-service

WORKDIR /src/services/omnix-broadcast
RUN CGO_ENABLED=0 GOOS=linux go build -trimpath -ldflags="-s -w" -o /out/omnix-broadcast .

FROM alpine:3.20

RUN apk add --no-cache ca-certificates tzdata && \
    adduser -D -u 10001 app
USER app

WORKDIR /app
COPY --from=builder /out/omnix-broadcast .
COPY services/omnix-broadcast/migrations ./migrations

EXPOSE 8081
ENTRYPOINT ["./omnix-broadcast"]
