Dockerfile22 lines · 528 chars FROM golang:1.25 AS builder
# Build both frpc and frps from source
COPY . /src
WORKDIR /src
RUN env CGO_ENABLED=0 go build -trimpath -ldflags "-s -w" -tags frpc -o bin/frpc ./cmd/frpc
RUN env CGO_ENABLED=0 go build -trimpath -ldflags "-s -w" -tags frps -o bin/frps ./cmd/frps
FROM alpine:3
RUN apk add --no-cache tzdata
COPY --from=builder /src/bin/frpc /usr/bin/frpc
COPY --from=builder /src/bin/frps /usr/bin/frps
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
CMD ["frpc"]