sing-box/Dockerfile

28 lines
1.1 KiB
Docker
Raw Normal View History

2024-08-20 21:33:31 +08:00
FROM --platform=$BUILDPLATFORM golang:1.23-alpine AS builder
2022-08-27 22:55:55 +08:00
LABEL maintainer="nekohasekai <contact-git@sekai.icu>"
COPY . /go/src/github.com/sagernet/sing-box
WORKDIR /go/src/github.com/sagernet/sing-box
ARG TARGETOS TARGETARCH
2022-08-27 22:55:55 +08:00
ARG GOPROXY=""
ENV GOPROXY ${GOPROXY}
ENV CGO_ENABLED=0
ENV GOOS=$TARGETOS
ENV GOARCH=$TARGETARCH
2022-08-27 22:55:55 +08:00
RUN set -ex \
&& apk add git build-base \
2022-09-07 23:10:12 +08:00
&& export COMMIT=$(git rev-parse --short HEAD) \
2023-03-09 16:53:25 +08:00
&& export VERSION=$(go run ./cmd/internal/read_tag) \
2023-11-13 14:12:22 +08:00
&& go build -v -trimpath -tags \
"with_gvisor,with_quic,with_dhcp,with_wireguard,with_ech,with_utls,with_reality_server,with_acme,with_clash_api" \
2022-08-27 22:55:55 +08:00
-o /go/bin/sing-box \
2023-03-09 16:53:25 +08:00
-ldflags "-X \"github.com/sagernet/sing-box/constant.Version=$VERSION\" -s -w -buildid=" \
2022-08-27 22:55:55 +08:00
./cmd/sing-box
FROM --platform=$TARGETPLATFORM alpine AS dist
2022-08-27 22:55:55 +08:00
LABEL maintainer="nekohasekai <contact-git@sekai.icu>"
RUN set -ex \
&& apk upgrade \
2024-06-07 15:55:21 +08:00
&& apk add bash tzdata ca-certificates nftables \
2022-08-27 22:55:55 +08:00
&& rm -rf /var/cache/apk/*
COPY --from=builder /go/bin/sing-box /usr/local/bin/sing-box
ENTRYPOINT ["sing-box"]