FROM node:22-bookworm-slim RUN apt-get update && \ apt-get install -y \ build-essential \ python3 \ python3-pip && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* USER node ENV HOME=/home/node \ PATH=/home/node/.local/bin:$PATH # Copy only the requirements.txt first to leverage Docker cache COPY --chown=node requirements.txt $HOME/app/ WORKDIR $HOME/app # Install Python dependencies RUN pip install --no-cache-dir \ --break-system-packages \ -U pip && \ pip install --no-cache-dir \ --break-system-packages \ -r requirements.txt COPY --chown=node hardhat hardhat WORKDIR $HOME/app/hardhat # Install Node.js dependencies and compile RUN npm install && \ npx hardhat compile && \ rm -rf contracts test cache WORKDIR $HOME/app COPY --chown=node api . COPY --chown=node init_tasks.py ./ ENV HF_DATASET='braindao/solbench-humaneval-for-solidity-v2' ENTRYPOINT ["./scripts/start-api.sh"]