| 
									
										
										
										
											2023-07-01 12:26:43 +00:00
										 |  |  | # ======================================================== | 
					
						
							|  |  |  | # Stage: Builder | 
					
						
							|  |  |  | # ======================================================== | 
					
						
							| 
									
										
										
										
											2023-05-11 09:38:44 +00:00
										 |  |  | FROM --platform=$BUILDPLATFORM golang:1.20.4-alpine AS builder | 
					
						
							| 
									
										
										
										
											2023-05-07 16:59:37 +00:00
										 |  |  | WORKDIR /app | 
					
						
							| 
									
										
										
										
											2023-07-01 12:26:43 +00:00
										 |  |  | ARG TARGETARCH | 
					
						
							|  |  |  | ENV CGO_ENABLED=1 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | RUN apk --no-cache --update add \ | 
					
						
							|  |  |  |   build-base \ | 
					
						
							|  |  |  |   gcc \ | 
					
						
							|  |  |  |   wget \ | 
					
						
							|  |  |  |   unzip | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-07 16:59:37 +00:00
										 |  |  | COPY . . | 
					
						
							| 
									
										
										
										
											2023-05-08 02:22:48 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-07-01 12:26:43 +00:00
										 |  |  | RUN go build -o build/x-ui main.go | 
					
						
							|  |  |  | RUN ./DockerInit.sh "$TARGETARCH" | 
					
						
							| 
									
										
										
										
											2023-05-08 02:22:48 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-07-01 12:26:43 +00:00
										 |  |  | # ======================================================== | 
					
						
							|  |  |  | # Stage: Final Image of 3x-ui | 
					
						
							|  |  |  | # ======================================================== | 
					
						
							| 
									
										
										
										
											2023-05-11 09:38:44 +00:00
										 |  |  | FROM alpine | 
					
						
							|  |  |  | ENV TZ=Asia/Tehran | 
					
						
							| 
									
										
										
										
											2023-05-07 16:59:37 +00:00
										 |  |  | WORKDIR /app | 
					
						
							| 
									
										
										
										
											2023-05-08 02:22:48 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-07-01 12:26:43 +00:00
										 |  |  | RUN apk add --no-cache --update \ | 
					
						
							|  |  |  |   ca-certificates \ | 
					
						
							|  |  |  |   tzdata \ | 
					
						
							|  |  |  |   fail2ban | 
					
						
							| 
									
										
										
										
											2023-05-07 16:59:37 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-11 09:38:44 +00:00
										 |  |  | COPY --from=builder  /app/build/ /app/ | 
					
						
							| 
									
										
										
										
											2023-07-01 12:26:43 +00:00
										 |  |  | 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 \ | 
					
						
							| 
									
										
										
										
											2023-07-20 18:24:51 +00:00
										 |  |  |   && 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 | 
					
						
							| 
									
										
										
										
											2023-07-01 12:26:43 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | RUN chmod +x \ | 
					
						
							|  |  |  |   /app/DockerEntrypoint.sh \ | 
					
						
							|  |  |  |   /app/x-ui \ | 
					
						
							|  |  |  |   /usr/bin/x-ui | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-05-11 09:38:44 +00:00
										 |  |  | VOLUME [ "/etc/x-ui" ] | 
					
						
							| 
									
										
										
										
											2023-07-01 12:26:43 +00:00
										 |  |  | ENTRYPOINT [ "/app/DockerEntrypoint.sh" ] |