Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions runtime/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
# NOTE: Sensitive variables below are declared as empty strings for documentation.
# Actual values will be securely injected at runtime via Kubernetes Secrets.
# This is safe - no actual secrets are hardcoded in the Dockerfile.
ENV DEBIAN_FRONTEND=noninteractive \

Check warning on line 20 in runtime/Dockerfile

View workflow job for this annotation

GitHub Actions / Build Runtime Docker Images

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "DOCKER_HUB_PASSWD") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 20 in runtime/Dockerfile

View workflow job for this annotation

GitHub Actions / Build Runtime Docker Images

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "OPENAI_API_KEY") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 20 in runtime/Dockerfile

View workflow job for this annotation

GitHub Actions / Build Runtime Docker Images

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "GEMINI_API_KEY") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/

Check warning on line 20 in runtime/Dockerfile

View workflow job for this annotation

GitHub Actions / Build Runtime Docker Images

Sensitive data should not be used in the ARG or ENV commands

SecretsUsedInArgOrEnv: Do not use ARG or ENV instructions for sensitive data (ENV "ANTHROPIC_AUTH_TOKEN") More info: https://docs.docker.com/go/dockerfile/rule/secrets-used-in-arg-or-env/
NODE_VERSION=22.x \
NEXT_VERSION=15.5.9 \
CLAUDE_CODE_VERSION=latest \
Expand All @@ -30,6 +30,8 @@
ANTHROPIC_AUTH_TOKEN="" \
ANTHROPIC_MODEL="" \
ANTHROPIC_SMALL_FAST_MODEL="" \
GEMINI_API_KEY="" \
OPENAI_API_KEY="" \
DOCKER_HUB_NAME="" \
DOCKER_HUB_PASSWD=""

Expand Down Expand Up @@ -83,6 +85,8 @@
# -----------------------------------------------------------------------------
RUN npm install -g \
@anthropic-ai/claude-code \
@google/gemini-cli \
@openai/codex \
create-next-app@${NEXT_VERSION} \
pnpm \
prisma \
Expand Down
10 changes: 9 additions & 1 deletion runtime/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,9 @@ The FullStack Web Runtime is a production-ready Ubuntu 24.04-based container tha

### AI Integration
- **Claude Code CLI**: Latest @anthropic-ai/claude-code package
- Auto-starts on first terminal connection
- **Gemini CLI**: Latest @google/gemini-cli package
- **Codex CLI**: Latest @openai/codex package
- Claude Code auto-starts on first terminal connection
- Configured for seamless AI-assisted development

### Container Tools
Expand Down Expand Up @@ -120,6 +122,12 @@ The Claude Code CLI will auto-start on first connection.
- `ANTHROPIC_MODEL` - Model to use (e.g., claude-sonnet-4-5-20250929)
- `ANTHROPIC_SMALL_FAST_MODEL` - Fast model for quick tasks

### Gemini CLI Configuration
- `GEMINI_API_KEY` - Your Google AI API key (required for Gemini CLI)

### Codex CLI Configuration
- `OPENAI_API_KEY` - Your OpenAI API key (required for Codex CLI)

### Project Configuration
- `PROJECT_NAME` - Project name shown in terminal prompt (default: sandbox)

Expand Down
4 changes: 3 additions & 1 deletion runtime/ttyd-startup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,9 @@ echo "▶️ 2. Start the development server:"
echo " pnpm dev"
echo ""
echo "🤖 3. Use AI assistance:"
echo " claude"
echo " claude # Claude Code (Anthropic)"
echo " gemini # Gemini CLI (Google)"
echo " codex # Codex CLI (OpenAI)"
echo ""
echo "📎 4. Upload files:"
echo " • Drag and drop files to the terminal"
Expand Down