diff options
| author | itspooya <fallenangel201190@yahoo.com> | 2023-05-08 05:22:48 +0300 |
|---|---|---|
| committer | Ho3ein <ho3ein.sanaei@gmail.com> | 2023-05-08 09:34:47 +0300 |
| commit | e01fb9b605d048082b8ee814a80ba603a0d57404 (patch) | |
| tree | 5d1c112395b0600dfcad58f9c659d70273138c8c | |
| parent | 52a468d586a7f15d0fcbdc6d98d63c916e7a4216 (diff) | |
Fixed Dockerfile
| -rw-r--r-- | Dockerfile | 43 |
1 files changed, 24 insertions, 19 deletions
@@ -7,18 +7,27 @@ WORKDIR /app # Copy the Go modules and download the dependencies COPY go.mod go.sum ./ RUN go mod download + # Copy the source code COPY . . + ARG TARGETPARCH -RUN if $TARGETPARCH == "arm64"; then apt update && apt install gcc-aarch64-linux-gnu -y; fi + +RUN if [ "$TARGETPARCH" = "arm64" ]; then apt update && apt install gcc-aarch64-linux-gnu -y; fi + # Build the X-ui binary -RUN if $TARGETPARCH == "arm64"; then GOOS=linux GOARCH=arm64 CC=aarch64-linux-gnu-gcc go build -o xui-release -v main.go; fi -RUN if $TARGETPARCH == "amd64"; then GOOS=linux GOARCH=amd64 go build -o xui-release -v main.go; fi +RUN if [ "$TARGETPARCH" = "arm64" ]; then \ + GOOS=linux GOARCH=arm64 CC=aarch64-linux-gnu-gcc go build -o xui-release -v main.go; \ + elif [ "$TARGETPARCH" = "amd64" ]; then \ + GOOS=linux GOARCH=amd64 go build -o xui-release -v main.go; \ + fi # 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 /app/x-ui/xui-release COPY x-ui.service /app/x-ui/x-ui.service @@ -35,28 +44,24 @@ RUN apt-get update && apt-get install -y \ WORKDIR /app/x-ui/bin # Download and set up the required files - -RUN arch=$(uname -m) \ - if [ "$arch" = "aarch64" ]; then \ +RUN arch=$(uname -m) && \ + if [ "$arch" = "aarch64" ]; then \ 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 \ - fi - -RUN arch=$(uname -m) \ - if [ "$arch" = "amd64" ]; then \ - wget https://github.com/mhsanaei/Xray-core/releases/latest/download/Xray-linux-64.zip \ - && unzip Xray-linux-64.zip \ - && rm -f Xray-linux-64.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-amd64 \ - fi + && mv xray xray-linux-arm64; \ + elif [ "$arch" = "amd64" ]; then \ + wget https://github.com/mhsanaei/Xray-core/releases/latest/download/Xray-linux-64.zip \ + && unzip Xray-linux-64.zip \ + && rm -f Xray-linux-64.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-amd64; \ + fi WORKDIR /app RUN chmod +x /app/x-ui/x-ui.sh |
