Dockerfile.server 750 B

123456789101112131415161718
  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 "server" -ldflags="-s -w ${VAR_SETTING}"
  12. FROM playn/alpine
  13. COPY --from=builder /trojan-go/trojan-go /usr/bin/
  14. COPY --from=builder /trojan-go/example/server.json /etc/trojan-go/config.json
  15. ENTRYPOINT ["/usr/bin/trojan-go"]
  16. CMD ["-config", "/etc/trojan-go/config.json"]