25 lines
1.3 KiB
Docker
25 lines
1.3 KiB
Docker
FROM alpine:3.20
|
|
ARG SINGBOX_VER=1.12.13
|
|
|
|
# Устанавливаем зависимости, включая 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"] |