# Start from the official Golang image for building
FROM --platform=$BUILDPLATFORM golang:1.22-alpine AS builder

ARG TARGETARCH
ARG TARGETOS

WORKDIR /app
COPY . .
# Build statically for Linux
RUN CGO_ENABLED=0 GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -o haven-notify main.go

# Use Alpine for running, with CA certificates for TLS
FROM alpine:latest
WORKDIR /app
RUN apk --no-cache add ca-certificates
COPY template/ template/
COPY --from=builder /app/haven-notify .
EXPOSE 8080
ENV WEBHOOK_URL=""
ENTRYPOINT ["/app/haven-notify"]
