| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 | # ========================================================# Stage: Builder# ========================================================FROM --platform=$BUILDPLATFORM golang:1.21-alpine AS builderWORKDIR /appARG TARGETARCHENV CGO_ENABLED=1RUN apk --no-cache --update add \  build-base \  gcc \  wget \  unzipCOPY . .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 \  fail2banCOPY --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" ]ENTRYPOINT [ "/app/DockerEntrypoint.sh" ]
 |