FROM alpine:3.20 ARG SINGBOX_VER=1.8.10 # Устанавливаем зависимости, включая dos2unix для исправления скриптов RUN apk add --no-cache curl ca-certificates tar jq bash coreutils netcat-openbsd python3 dos2unix && update-ca-certificates # Автоматическое определение архитектуры и установка sing-box RUN ARCH=$(uname -m) && \ if [ "$ARCH" = "x86_64" ]; then SB_ARCH="amd64"; \ elif [ "$ARCH" = "aarch64" ]; then SB_ARCH="arm64"; \ else SB_ARCH="amd64"; fi && \ curl -L -o /tmp/sb.tar.gz https://github.com/SagerNet/sing-box/releases/download/v${SINGBOX_VER}/sing-box-${SINGBOX_VER}-linux-${SB_ARCH}.tar.gz \ && tar -xf /tmp/sb.tar.gz -C /tmp \ && mv /tmp/sing-box-${SINGBOX_VER}-linux-${SB_ARCH}/sing-box /usr/local/bin/sing-box \ && chmod +x /usr/local/bin/sing-box \ && adduser -D -u 1000 suser COPY --chown=suser:suser docker/entrypoint.sh /app/ COPY --chown=suser:suser web/ /app/web/ # Исправляем окончания строк (важно для Windows пользователей) и даем права на запуск RUN dos2unix /app/*.sh && chmod +x /app/entrypoint.sh EXPOSE 8082 9090 3456 ENTRYPOINT ["/app/entrypoint.sh"]