FROM node:20-bookworm # System deps RUN apt-get update && apt-get install -y \ curl git build-essential wget unzip jq \ && rm -rf /var/lib/apt/lists/* # Install Foundry (Anvil) RUN curl -L https://foundry.paradigm.xyz | bash \ && ~/.foundry/bin/foundryup ENV PATH="/root/.foundry/bin:${PATH}" RUN test -x /root/.foundry/bin/anvil # Install Solana CLI (release.solana.com is defunct; Anza now hosts the installer). # Pinned to v2.1.21, not "stable": Agave 3.x+ added a hard dependency on io_uring # that panics (assertion failed: io_uring_supported()) in containers where io_uring # syscalls are blocked by the default seccomp profile, which we cannot override on # Hugging Face Spaces since we don't control the `docker run` invocation. RUN sh -c "$(curl -sSfL https://release.anza.xyz/v2.1.21/install)" ENV PATH="/root/.local/share/solana/install/active_release/bin:${PATH}" RUN test -x /root/.local/share/solana/install/active_release/bin/solana-test-validator # App folder WORKDIR /app COPY . /app # Install dependencies RUN npm install express RUN npm install http-proxy-middleware # Make start script executable RUN chmod +x start.sh EXPOSE 7860 CMD ["bash", "start.sh"]