FROM ubuntu:24.04 ENV DEBIAN_FRONTEND=noninteractive ENV HOME=/root ENV PATH="/root/.bun/bin:$PATH" # Base tools RUN apt-get update && apt-get install -y --no-install-recommends \ curl wget git openssh-server ca-certificates gnupg \ build-essential unzip jq tmux zsh ripgrep \ && rm -rf /var/lib/apt/lists/* # Bun RUN curl -fsSL https://bun.sh/install | bash # Claude Code CLI RUN curl -fsSL https://claude.ai/install.sh | bash # code-server (VS Code in browser) RUN curl -fsSL https://code-server.dev/install.sh | sh # kubectl RUN curl -fsSL "https://dl.k8s.io/release/$(curl -fsSL https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" \ -o /usr/local/bin/kubectl && chmod +x /usr/local/bin/kubectl # doctl RUN curl -fsSL https://github.com/digitalocean/doctl/releases/download/v1.119.0/doctl-1.119.0-linux-amd64.tar.gz \ | tar xz -C /usr/local/bin # SSH setup — host keys generated at runtime via entrypoint RUN mkdir -p /run/sshd /root/.ssh && chmod 700 /root/.ssh COPY entrypoint-devpod.sh /entrypoint.sh RUN chmod +x /entrypoint.sh WORKDIR /workspace EXPOSE 8080 22 ENTRYPOINT ["/entrypoint.sh"]