# Use Ubuntu as base image for better compatibility FROM ubuntu:22.04 # Set environment variables ENV DEBIAN_FRONTEND=noninteractive ENV PORT=7860 # Install required dependencies and download sshx as root RUN apt-get update && apt-get install -y \ curl \ ca-certificates \ tar \ python3 \ sudo \ nano \ vim \ git \ wget \ htop \ net-tools \ iputils-ping \ build-essential \ && rm -rf /var/lib/apt/lists/* \ && curl -sSL https://s3.amazonaws.com/sshx/sshx-x86_64-unknown-linux-musl.tar.gz -o /tmp/sshx.tar.gz \ && tar -xzf /tmp/sshx.tar.gz -C /tmp \ && mv /tmp/sshx /usr/local/bin/sshx \ && chmod +x /usr/local/bin/sshx \ && rm -f /tmp/sshx.tar.gz # Create a non-root user and add to sudoers RUN useradd -m -u 1000 user \ && echo "user ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers # Switch to user USER user WORKDIR /home/user # Copy web interface COPY --chown=user:user index.html /home/user/index.html # Expose port for Hugging Face Space EXPOSE 7860 # Create startup script COPY --chown=user:user start.sh /home/user/start.sh RUN chmod +x /home/user/start.sh # Run sshx CMD ["/home/user/start.sh"]