diff options
| author | itspooya <fallenangel201190@yahoo.com> | 2023-05-08 04:18:25 +0300 |
|---|---|---|
| committer | Ho3ein <ho3ein.sanaei@gmail.com> | 2023-05-08 09:34:47 +0300 |
| commit | f286c9a86a7628923078a1bd9dff65284536ff5b (patch) | |
| tree | ecd8c6dfc294cc75062ac55be31ceaef95580efe | |
| parent | b4fd254c71b889e3227e33ae347f997ccd6d81a4 (diff) | |
Added ARM64
| -rw-r--r-- | .github/DockerfileARM | 47 | ||||
| -rw-r--r-- | .github/workflows/docker.yml | 10 |
2 files changed, 57 insertions, 0 deletions
diff --git a/.github/DockerfileARM b/.github/DockerfileARM new file mode 100644 index 00000000..148a4f1a --- /dev/null +++ b/.github/DockerfileARM @@ -0,0 +1,47 @@ +# Use the official Golang image as the base image +FROM golang:1.20 as builder +# Set up the working directory +WORKDIR /app + +# Copy the Go modules and download the dependencies +COPY go.mod go.sum ./ +RUN go mod download +# Copy the source code +COPY . . +RUN apt update && apt install gcc-aarch64-linux-gnu -y +# Build the X-ui binary +RUN GOOS=linux GOARCH=arm64 CC=aarch64-linux-gnu-gcc go build -o xui-release-arm64 -v main.go + +# Start a new stage using the base image +FROM ubuntu:20.04 +# 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-arm64 /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 + +# Set up the runtime environment +RUN apt-get update && apt-get install -y \ + wget \ + unzip \ + tzdata \ + ca-certificates \ + && rm -rf /var/lib/apt/lists/* + +WORKDIR /app/x-ui/bin + +# Download and set up the required files +RUN wget https://github.com/mhsanaei/xray-core/releases/latest/download/Xray-linux-arm64-v8a.zip \ + && unzip Xray-linux-arm64-v8a.zip \ + && rm -f Xray-linux-arm64-v8a.zip geoip.dat geosite.dat iran.dat \ + && 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-arm64 + +WORKDIR /app +RUN chmod +x /app/x-ui/x-ui.sh + +# Set the entrypoint +ENTRYPOINT ["/app/x-ui/xui-release"] diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 48d1a223..053b6833 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -39,3 +39,13 @@ jobs: platforms: linux/amd64 tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} + + - name: Build and push Docker image ARM64 + uses: docker/build-push-action@v4 + with: + context: . + file: .github/DockerfileARM + push: ${{ github.event_name != 'pull_request' }} + platforms: linux/arm64 + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} |
