diff options
| author | itspooya <fallenangel201190@yahoo.com> | 2023-05-08 03:05:52 +0300 |
|---|---|---|
| committer | Ho3ein <ho3ein.sanaei@gmail.com> | 2023-05-08 09:34:47 +0300 |
| commit | 7b567458ffa4a06c94a2c0f1d999011c7f5e4eec (patch) | |
| tree | 772f0fb207efd60a3cc919b8c0d8a702bf4e849a | |
| parent | 13e3e23f200081ded47afd0d6dcffe56ee1b5cde (diff) | |
👷 Added Docker CI
| -rw-r--r-- | .github/workflows/docker.yml | 14 | ||||
| -rw-r--r-- | Dockerfile | 13 |
2 files changed, 13 insertions, 14 deletions
diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 73dd7b4a..a3160e84 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -11,15 +11,15 @@ jobs: steps: - name: Check out the code - uses: actions/checkout@v3.5.2 + uses: actions/checkout@v3 - name: Set up QEMU - uses: docker/setup-qemu-action@v2.1.0 + uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2.5.0 + uses: docker/setup-buildx-action@v2 - name: Log in to GitHub Container Registry - uses: docker/login-action@v2.1.0 + uses: docker/login-action@v2 with: registry: ghcr.io username: ${{ github.actor }} @@ -27,15 +27,15 @@ jobs: - name: Docker meta id: meta - uses: docker/metadata-action@v4.4.0 + uses: docker/metadata-action@v4 with: images: ghcr.io/${{ github.repository }} - name: Build and push Docker image - uses: docker/build-push-action@v4.0.0 + uses: docker/build-push-action@v4 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 }} @@ -1,7 +1,7 @@ # Use the official Golang image as the base image +ARG TARGETOS TARGETARCH FROM --platform=$BUILDPLATFORM golang:1.20 as builder -ARG TARGETOS -ARG TARGETARCH +ARG TARGETOS TARGETARCH # Set up the working directory WORKDIR /app @@ -13,18 +13,17 @@ 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 -ARG TARGETARCH -ARG TARGETOS +ARG TARGETOS TARGETARCH # Set up the working directory 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 @@ -45,7 +44,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 |
