FROM golang:1.26-alpine AS build

WORKDIR /src
COPY server/go.mod server/go.sum* ./
RUN go mod download

COPY server/ ./
RUN CGO_ENABLED=0 GOOS=linux go build -o /out/synctv-server ./cmd/synctv-server

FROM alpine:3.22

WORKDIR /app
COPY --from=build /out/synctv-server /app/synctv-server
COPY config/server.json /app/config/server.json

ENV SYNCTV_CONFIG=/app/config/server.json
EXPOSE 8080

CMD ["/app/synctv-server"]
