mirror of
				https://github.com/MHSanaei/3x-ui.git
				synced 2025-10-31 12:22:51 +00:00 
			
		
		
		
	Fixed Dockerfile
This commit is contained in:
		
							parent
							
								
									52a468d586
								
							
						
					
					
						commit
						e01fb9b605
					
				
					 1 changed files with 24 additions and 19 deletions
				
			
		
							
								
								
									
										43
									
								
								Dockerfile
									
									
									
									
									
								
							
							
						
						
									
										43
									
								
								Dockerfile
									
									
									
									
									
								
							|  | @ -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 | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 itspooya
						itspooya