FROM node:lts # Install PHP, Python, DB clients, and general utilities RUN apt-get update && apt-get install -y --no-install-recommends \ php php-cli php-common php-mbstring php-xml php-curl php-zip \ php-pgsql php-mysql php-sqlite3 php-redis \ python3 python3-pip python3-venv \ wget apt-transport-https \ git make jq unzip zip \ openssh-client \ default-mysql-client postgresql-client sqlite3 \ && rm -rf /var/lib/apt/lists/* # Install Docker CLI RUN curl -fsSL https://download.docker.com/linux/debian/gpg \ | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg \ && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(. /etc/os-release && echo $VERSION_CODENAME) stable" \ | tee /etc/apt/sources.list.d/docker.list > /dev/null \ && apt-get update && apt-get install -y --no-install-recommends docker-ce-cli docker-compose-plugin \ && rm -rf /var/lib/apt/lists/* # Install GitHub CLI RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg \ | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg \ && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" \ | tee /etc/apt/sources.list.d/github-cli.list > /dev/null \ && apt-get update && apt-get install -y --no-install-recommends gh \ && rm -rf /var/lib/apt/lists/* # Install Composer RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer # Install Python tools RUN pip install --break-system-packages poetry uv # Install Spec Kit (specify CLI) RUN uv tool install specify-cli --from git+https://github.com/github/spec-kit.git # Install .NET 10 RUN wget https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \ && dpkg -i packages-microsoft-prod.deb \ && rm packages-microsoft-prod.deb \ && apt-get update && apt-get install -y --no-install-recommends dotnet-sdk-10.0 \ && rm -rf /var/lib/apt/lists/* # Install PowerShell RUN apt-get update && apt-get install -y --no-install-recommends powershell \ && rm -rf /var/lib/apt/lists/* # Install .NET global tools RUN dotnet tool install --global dotnet-ef \ && dotnet tool install --global dotnet-aspnet-codegenerator ENV PATH="$PATH:/root/.dotnet/tools:/root/.local/bin" RUN git config --global user.name "Daniel Covington" RUN git config --global user.email "danielcovington@comcast.net" # Install Node.js global tools RUN npm install -g @bonsai-ai/cli RUN npm install -g @abacus-ai/cli RUN npm install -g @openai/codex RUN npm install -g @github/copilot # Install ttyd (web terminal) RUN ARCH=$(dpkg --print-architecture) && \ case "$ARCH" in \ amd64) TTYD_ARCH="x86_64" ;; \ arm64) TTYD_ARCH="aarch64" ;; \ *) echo "Unsupported arch: $ARCH" && exit 1 ;; \ esac && \ wget -O /usr/local/bin/ttyd \ "https://github.com/tsl0922/ttyd/releases/latest/download/ttyd.${TTYD_ARCH}" && \ chmod +x /usr/local/bin/ttyd # Install BMAD-METHOD CLI RUN npm install -g bmad-method WORKDIR /workspace EXPOSE 7681 CMD ["ttyd", "-W", "-p", "7681", "bash"]