|
- 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"]
|