FROM node:24-alpine AS node-build

WORKDIR /build

COPY frontend /build

RUN npm ci
RUN npx vite build --outDir dist

FROM golang:1.26-alpine AS go-build

WORKDIR /build

COPY . /build
COPY --from=node-build /build/dist /build/internal/server/static

RUN go get
RUN go build -o zampler

FROM alpine:3.24

COPY --from=go-build /build/zampler /usr/local/bin

ENTRYPOINT ["zampler"]
CMD ["/data"]
