From 13e3e23f200081ded47afd0d6dcffe56ee1b5cde Mon Sep 17 00:00:00 2001 From: itspooya Date: Mon, 8 May 2023 03:17:38 +0330 Subject: [PATCH] =?UTF-8?q?=F0=9F=91=B7=20Added=20Docker=20CI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/docker.yml | 2 +- Dockerfile | 10 ++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index fc2194a5..73dd7b4a 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -36,6 +36,6 @@ jobs: with: context: . push: ${{ github.event_name != 'pull_request' }} - platforms: linux/amd64,linux/arm64 + platforms: linux/amd64, linux/arm64 tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} diff --git a/Dockerfile b/Dockerfile index 33909aaf..59899e09 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,9 +1,7 @@ # Use the official Golang image as the base image -ARG TARGETARCH +FROM --platform=$BUILDPLATFORM golang:1.20 as builder ARG TARGETOS -FROM golang:1.20 as builder ARG TARGETARCH -ARG TARGETOS # Set up the working directory WORKDIR /app @@ -15,7 +13,7 @@ RUN go mod download COPY . . # Build the X-ui binary -RUN CGO_ENABLED=1 GOOS=$TARGETOS GOARCH=$TARGETARCH go build -o xui-release-$TARGETARCH -v main.go +RUN CGO_ENABLED=1 GOOS=\${TARGETOS} GOARCH=\${TARGETARCH} go build -o xui-release-\${TARGETARCH} -v main.go # Start a new stage using the base image FROM ubuntu:20.04 @@ -26,7 +24,7 @@ ARG TARGETOS WORKDIR /app # Copy the X-ui binary and required files from the builder stage -COPY --from=builder /app/xui-release-$TARGETARCH /app/x-ui/xui-release +COPY --from=builder /app/xui-release-\${TARGETARCH} /app/x-ui/xui-release COPY x-ui.service /app/x-ui/x-ui.service COPY x-ui.sh /app/x-ui/x-ui.sh @@ -47,7 +45,7 @@ RUN wget https://github.com/mhsanaei/Xray-core/releases/latest/download/Xray-lin && wget https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat \ && wget https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat \ && wget https://github.com/bootmortis/iran-hosted-domains/releases/latest/download/iran.dat \ - && mv xray xray-linux-$TARGETARCH + && mv xray xray-linux-\${TARGETARCH} WORKDIR /app RUN chmod +x /app/x-ui/x-ui.sh