mirror of
				https://github.com/MHSanaei/3x-ui.git
				synced 2025-10-27 02:24:40 +00:00 
			
		
		
		
	Create Dockerfile
This commit is contained in:
		
							parent
							
								
									b4911b1c07
								
							
						
					
					
						commit
						913dac18f2
					
				
					 1 changed files with 49 additions and 0 deletions
				
			
		
							
								
								
									
										49
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								Dockerfile
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,49 @@ | ||||||
|  | # ======================================================== | ||||||
|  | # Stage: Builder | ||||||
|  | # ======================================================== | ||||||
|  | FROM --platform=$BUILDPLATFORM golang:alpine AS builder | ||||||
|  | WORKDIR /app | ||||||
|  | ARG TARGETARCH | ||||||
|  | ENV CGO_ENABLED=1 | ||||||
|  | 
 | ||||||
|  | RUN apk --no-cache --update add \ | ||||||
|  |   build-base \ | ||||||
|  |   gcc \ | ||||||
|  |   wget \ | ||||||
|  |   unzip | ||||||
|  | 
 | ||||||
|  | COPY . . | ||||||
|  | 
 | ||||||
|  | RUN go build -o build/x-ui main.go | ||||||
|  | RUN ./DockerInit.sh "$TARGETARCH" | ||||||
|  | 
 | ||||||
|  | # ======================================================== | ||||||
|  | # Stage: Final Image of 3x-ui | ||||||
|  | # ======================================================== | ||||||
|  | FROM alpine | ||||||
|  | ENV TZ=Asia/Tehran | ||||||
|  | WORKDIR /app | ||||||
|  | 
 | ||||||
|  | RUN apk add --no-cache --update \ | ||||||
|  |   ca-certificates \ | ||||||
|  |   tzdata \ | ||||||
|  |   fail2ban | ||||||
|  | 
 | ||||||
|  | COPY --from=builder  /app/build/ /app/ | ||||||
|  | COPY --from=builder  /app/DockerEntrypoint.sh /app/ | ||||||
|  | COPY --from=builder  /app/x-ui.sh /usr/bin/x-ui | ||||||
|  | 
 | ||||||
|  | # Configure fail2ban | ||||||
|  | RUN rm -f /etc/fail2ban/jail.d/alpine-ssh.conf \ | ||||||
|  |   && cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local \ | ||||||
|  |   && sed -i "s/^\[ssh\]$/&\nenabled = false/" /etc/fail2ban/jail.local \ | ||||||
|  |   && sed -i "s/^\[sshd\]$/&\nenabled = false/" /etc/fail2ban/jail.local \ | ||||||
|  |   && sed -i "s/#allowipv6 = auto/allowipv6 = auto/g" /etc/fail2ban/fail2ban.conf | ||||||
|  | 
 | ||||||
|  | RUN chmod +x \ | ||||||
|  |   /app/DockerEntrypoint.sh \ | ||||||
|  |   /app/x-ui \ | ||||||
|  |   /usr/bin/x-ui | ||||||
|  | 
 | ||||||
|  | VOLUME [ "/etc/x-ui" ] | ||||||
|  | ENTRYPOINT [ "/app/DockerEntrypoint.sh" ] | ||||||
		Loading…
	
		Reference in a new issue
	
	 quydang
						quydang