FROM node:lts AS webBuilder

WORKDIR /build

COPY web .

RUN pnpm install \
    && pnpm run build

FROM golang AS goBuilder

WORKDIR /build

COPY . .
COPY --from=webBuilder /build/dist ./web/dist

RUN go env -w CGO_ENABLED=0 \
    && go mod tidy \
    && go build -o dypid

FROM alpine

WORKDIR /data

COPY --from=goBuilder /build/dypid /dypid

RUN apk update \
    && apk add --no-cache tzdata \
    && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && echo "Asia/Shanghai" > /etc/timezone \
    && apk del tzdata \
    && chmod +x /dypid

ENTRYPOINT [ "/dypid" ]