12345678910111213141516171819202122232425262728293031323334353637383940 |
- FROM gravitl/builder:latest as builder
- # add glib support daemon manager
- WORKDIR /app
- ARG version
- COPY . .
- ENV GO111MODULE=auto
- RUN GOOS=linux CGO_ENABLED=0 /usr/local/go/bin/go build -ldflags="-w -s -X 'main.version=${TAG}'" -o netclient-app netclient/main.go
- WORKDIR /root/
- RUN apk add --update git build-base libmnl-dev iptables
- RUN git clone https://git.zx2c4.com/wireguard-go && \
- cd wireguard-go && \
- make && \
- make install
- ENV WITH_WGQUICK=yes
- RUN git clone https://git.zx2c4.com/wireguard-tools && \
- cd wireguard-tools && \
- cd src && \
- make && \
- make install
- FROM alpine:3.13.6
- WORKDIR /root/
- RUN apk add --no-cache --update bash libmnl gcompat iptables openresolv iproute2
- COPY --from=builder /usr/bin/wireguard-go /usr/bin/wg* /usr/bin/
- COPY --from=builder /app/netclient-app ./netclient
- COPY --from=builder /app/scripts/netclient.sh .
- RUN chmod 0755 netclient && chmod 0755 netclient.sh
- ENV WG_QUICK_USERSPACE_IMPLEMENTATION=wireguard-go
- ENTRYPOINT ["/bin/sh", "./netclient.sh"]
|