# Base CUDA + Ubuntu image FROM nvidia/cuda:12.5.1-cudnn-devel-ubuntu22.04 ENV DEBIAN_FRONTEND=noninteractive \ TZ=Asia/Kolkata \ NPM_CONFIG_PREFIX=/home/keii/.npm-global \ PATH=/home/keii/.npm-global/bin:$PATH # Upgrade apt and install system dependencies RUN apt-get update && apt-get upgrade -y && apt-get install -y --no-install-recommends \ git \ curl \ wget \ sudo \ build-essential \ ca-certificates \ gnupg2 \ lsb-release \ && rm -rf /var/lib/apt/lists/* # Install Node.js (latest LTS) RUN curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - \ && apt-get install -y nodejs \ && npm install -g npm@latest # Create non-root user 'keii' and add sudo RUN useradd -m keii \ && echo "keii ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/90-keii \ && chmod 0440 /etc/sudoers.d/90-keii # Create npm global directories as root and give ownership to keii RUN mkdir -p /home/keii/.npm-global /home/keii/.npm \ && chown -R keii:keii /home/keii/.npm-global /home/keii/.npm # Install provider CLIs globally as root but into keii's npm prefix RUN npm config set prefix /home/keii/.npm-global \ && npm install -g @openai/codex --unsafe-perm \ && npm install -g @anthropic-ai/claude-code --unsafe-perm \ && npm install -g clawdex-mobile@latest --unsafe-perm \ && chown -R keii:keii /home/keii/.npm-global /home/keii/.npm # Switch to non-root user USER keii ENV HOME=/home/keii WORKDIR /home/keii/app # Copy application files (optional) COPY . /home/keii/app # Default command EXPOSE 7860 # Default entrypoint CMD ["clawdex", "init", "--no-start"]