FROM golang:1.22-alpine AS build

WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download

COPY . .
RUN CGO_ENABLED=0 go build -o /bin/license-app ./cmd/app
RUN CGO_ENABLED=0 go build -o /bin/license-worker-json ./cmd/worker-json
RUN CGO_ENABLED=0 go build -o /bin/license-worker-xml ./cmd/worker-xml

FROM alpine:3.19
WORKDIR /app

COPY --from=build /bin/license-app /app/license-app
COPY --from=build /bin/license-worker-json /app/license-worker-json
COPY --from=build /bin/license-worker-xml /app/license-worker-xml
COPY templates /app/templates
COPY static /app/static

ENV PORT=8080
EXPOSE 8080

CMD ["/app/license-app"]
