2
0

Dockerfile.client 995 B

12345678910111213141516171819202122
  1. # syntax=docker/dockerfile:1
  2. FROM golang:alpine AS builder
  3. WORKDIR /
  4. RUN apk add git && \
  5. git clone --depth 1 https://github.com/p4gefau1t/trojan-go.git && \
  6. cd trojan-go && \
  7. PACKAGE_NAME="github.com/p4gefau1t/trojan-go" && \
  8. VERSION=$(git describe --dirty) && \
  9. COMMIT=$(git rev-parse HEAD) && \
  10. VAR_SETTING="-X ${PACKAGE_NAME}/constant.Version=${VERSION} -X ${PACKAGE_NAME}/constant.Commit=${COMMIT}" && \
  11. go build -tags "client" -ldflags="-s -w ${VAR_SETTING}" && \
  12. mkdir build && \
  13. mv trojan-go build && \
  14. wget https://github.com/ngbs/rules-dat/blob/release/geosite.dat -O build/geosite.dat && \
  15. wget https://github.com/ngbs/rules-dat/blob/release/geoip.dat -O build/geoip.dat
  16. FROM playn/alpine
  17. COPY --from=builder /trojan-go/build /usr/bin/
  18. COPY --from=builder /trojan-go/example/client.json /etc/trojan-go/config.json
  19. ENTRYPOINT ["/usr/bin/trojan-go"]
  20. CMD ["-config", "/etc/trojan-go/config.json"]