FROM node:22 AS web-builder

WORKDIR /web/frpc
COPY web/frpc/ ./
RUN npm install
RUN npm run build

FROM golang:1.25 AS building

COPY . /building
COPY --from=web-builder /web/frpc/dist /building/web/frpc/dist
WORKDIR /building

RUN env CGO_ENABLED=0 go build -trimpath -ldflags "-s -w" -tags frpc -o bin/frpc ./cmd/frpc

FROM alpine:3

RUN apk add --no-cache tzdata

COPY --from=building /building/bin/frpc /usr/bin/frpc

ENTRYPOINT ["/usr/bin/frpc"]
