Dockerfile 907 B

12345678910111213141516171819202122
  1. # syntax=docker/dockerfile:1
  2. FROM --platform=$BUILDPLATFORM golang:alpine AS build
  3. WORKDIR /src
  4. COPY . .
  5. ARG TARGETOS TARGETARCH
  6. RUN GOOS=$TARGETOS GOARCH=$TARGETARCH CGO_ENABLED=0 go build -o xray -trimpath -ldflags "-s -w -buildid=" ./main
  7. FROM --platform=${TARGETPLATFORM} alpine:latest
  8. WORKDIR /root
  9. COPY .github/docker/files/config.json /etc/xray/config.json
  10. COPY --from=build /src/xray /usr/bin/xray
  11. RUN set -ex \
  12. && apk add --no-cache tzdata ca-certificates \
  13. && mkdir -p /var/log/xray /usr/share/xray \
  14. && chmod +x /usr/bin/xray \
  15. && wget -O /usr/share/xray/geosite.dat https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat \
  16. && wget -O /usr/share/xray/geoip.dat https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat
  17. VOLUME /etc/xray
  18. ENV TZ=Asia/Shanghai
  19. ENTRYPOINT [ "/usr/bin/xray" ]
  20. CMD [ "-config", "/etc/xray/config.json" ]