Spaces:
Paused
Paused
| FROM debian:bullseye-slim | |
| # Install prerequisites## | |
| RUN apt-get update && apt-get install -y \ | |
| curl \ | |
| gnupg \ | |
| ca-certificates \ | |
| dos2unix \ | |
| wget \ | |
| tar \ | |
| bash \ | |
| --no-install-recommends && \ | |
| rm -rf /var/lib/apt/lists/* | |
| SHELL ["/bin/bash", "-c"] | |
| # Set a working directory | |
| WORKDIR /opt/app | |
| # Install tools | |
| ARG SINGBOX_VERSION=1.12.8 | |
| RUN wget -O /tmp/sing-box.tar.gz "https://github.com/SagerNet/sing-box/releases/download/v${SINGBOX_VERSION}/sing-box-${SINGBOX_VERSION}-linux-amd64.tar.gz" && \ | |
| tar -zxvf /tmp/sing-box.tar.gz -C /tmp && \ | |
| mv /tmp/sing-box-${SINGBOX_VERSION}-linux-amd64/sing-box /usr/local/bin/sing-box && \ | |
| chmod +x /usr/local/bin/sing-box && \ | |
| rm -rf /tmp/sing-box* | |
| ARG CHISEL_VERSION=1.10.1 | |
| RUN wget https://github.com/jpillora/chisel/releases/download/v${CHISEL_VERSION}/chisel_${CHISEL_VERSION}_linux_amd64.gz -O /tmp/chisel.gz && \ | |
| gunzip /tmp/chisel.gz && \ | |
| mv /tmp/chisel /usr/local/bin/chisel && \ | |
| chmod +x /usr/local/bin/chisel | |
| RUN ARCH=$(uname -m) && \ | |
| if [ "$ARCH" = "x86_64" ]; then ARCH="amd64"; fi && \ | |
| if [ "$ARCH" = "aarch64" ]; then ARCH="arm64"; fi && \ | |
| wget -O /usr/local/x-ui-linux-${ARCH}.tar.gz \ | |
| "https://github.com/MHSanaei/3x-ui/releases/latest/download/x-ui-linux-${ARCH}.tar.gz" && \ | |
| mkdir -p /usr/local/x-ui/ && \ | |
| tar -zxvf /usr/local/x-ui-linux-*.tar.gz -C /usr/local/x-ui/ --strip-components=1 && \ | |
| rm /usr/local/x-ui-linux-*.tar.gz && \ | |
| chmod +x /usr/local/x-ui/x-ui && \ | |
| cp /usr/local/x-ui/x-ui.sh /usr/bin/x-ui && \ | |
| # --- Backup original bin contents --- | |
| mkdir -p /opt/xray-backup && \ | |
| cp -r /usr/local/x-ui/bin/. /opt/xray-backup/ | |
| # Copy all files from the build context (huggingface-x-ui-final) into the work directory | |
| COPY . . | |
| # Copy certificates | |
| #COPY certs/ /usr/local/x-ui/ssl/ | |
| # Make scripts executable | |
| RUN chmod +x /opt/app/warp_proxy.sh && \ | |
| chmod +x /opt/app/start.sh | |
| # Expose the x-ui port | |
| EXPOSE 2023 | |
| # Set the entrypoint to our startup script | |
| RUN chmod -R 777 /usr/local/x-ui/ | |
| ENTRYPOINT ["/bin/bash", "-c", "/opt/app/start.sh"] | |