From d531fc12050fa30bf9c362d4b0db48ba1fcc7d58 Mon Sep 17 00:00:00 2001 From: Dikiy13371 Date: Wed, 8 Oct 2025 01:46:36 +0300 Subject: [PATCH] fix dockerfile --- Dockerfile | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index cddc945c..30d13807 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,8 @@ # ======================================================== # Stage: Builder # ======================================================== -FROM golang:1.25-alpine AS builder +# если 1.25 нет в DockerHub — ставь 1.22 +FROM golang:1.22-alpine AS builder WORKDIR /app ARG TARGETARCH @@ -13,15 +14,22 @@ RUN apk --no-cache --update add \ COPY . . +# если у тебя есть приватные модули — можно добавить go env+git config (не нужно, если всё публичное) +RUN go mod download + ENV CGO_ENABLED=1 ENV CGO_CFLAGS="-D_LARGEFILE64_SOURCE" + +# соберём бинарь x-ui RUN go build -ldflags "-w -s" -o build/x-ui main.go + +# твой инициализатор, если он нужен RUN ./DockerInit.sh "$TARGETARCH" # ======================================================== # Stage: Final Image of 3x-ui # ======================================================== -FROM alpine +FROM alpine:3.20 ENV TZ=Asia/Tehran WORKDIR /app @@ -29,14 +37,15 @@ RUN apk add --no-cache --update \ ca-certificates \ tzdata \ fail2ban \ - bash + bash \ + sqlite +# бинарь и скрипты 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 +# 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 \ @@ -49,7 +58,13 @@ RUN chmod +x \ /usr/bin/x-ui ENV XUI_ENABLE_FAIL2BAN="true" + +# панель слушает 2053 (как в твоих настройках) EXPOSE 2053 + +# смонтируем /etc/x-ui как data dir (как у тебя в compose) VOLUME [ "/etc/x-ui" ] -CMD [ "./x-ui" ] + +# твой же entrypoint/cmd ENTRYPOINT [ "/app/DockerEntrypoint.sh" ] +CMD [ "./x-ui" ]