| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 | # ========================================================# Stage: Builder# ========================================================FROM golang:1.22-alpine AS builderWORKDIR /appARG TARGETARCHRUN apk --no-cache --update add \  build-base \  gcc \  wget \  unzipCOPY . .ENV CGO_ENABLED=1ENV CGO_CFLAGS="-D_LARGEFILE64_SOURCE"RUN go build -o build/x-ui main.goRUN ./DockerInit.sh "$TARGETARCH"# ========================================================# Stage: Final Image of 3x-ui# ========================================================FROM alpineENV TZ=Asia/TehranWORKDIR /appRUN apk add --no-cache --update \  ca-certificates \  tzdata \  fail2ban \  bashCOPY --from=builder /app/build/ /app/COPY --from=builder /app/DockerEntrypoint.sh /app/COPY --from=builder /app/x-ui.sh /usr/bin/x-ui# Configure fail2banRUN 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.confRUN chmod +x \  /app/DockerEntrypoint.sh \  /app/x-ui \  /usr/bin/x-uiVOLUME [ "/etc/x-ui" ]CMD [ "./x-ui" ]ENTRYPOINT [ "/app/DockerEntrypoint.sh" ]
 |