chore: update claude code installation in ddev container
This commit is contained in:
@@ -1,9 +1,11 @@
|
|||||||
name: claude
|
name: claude
|
||||||
repository: /Users/fromme/Development/Misc/ddev-claude-code
|
repository: /Users/fromme/Development/Misc/ddev-claude-code
|
||||||
version: ""
|
version: ""
|
||||||
install_date: "2026-01-09T16:22:30+01:00"
|
install_date: "2026-01-09T17:50:43+01:00"
|
||||||
project_files:
|
project_files:
|
||||||
- commands/web/claude
|
- commands/web/claude
|
||||||
- config.claude.yaml
|
- config.claude.yaml
|
||||||
|
- docker-compose.claude.yaml
|
||||||
|
- claude/.gitignore
|
||||||
global_files: []
|
global_files: []
|
||||||
removal_actions: []
|
removal_actions: []
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
# Auth tokens - do not commit
|
||||||
|
.claude.json
|
||||||
|
|
||||||
|
# Claude data directory
|
||||||
|
.claude/
|
||||||
@@ -1,6 +1,26 @@
|
|||||||
|
#ddev-generated
|
||||||
# Claude Code add-on configuration
|
# Claude Code add-on configuration
|
||||||
# This file is merged with your project's .ddev/config.yaml
|
# This file is merged with your project's .ddev/config.yaml
|
||||||
|
|
||||||
hooks:
|
hooks:
|
||||||
post-start:
|
post-start:
|
||||||
- exec: "mkdir -p ~/.bashrc.d && test -f ~/.bashrc.d/claude.sh || echo 'export PATH=\"$HOME/.local/bin:$PATH\"' > ~/.bashrc.d/claude.sh && test -f ~/.local/bin/claude || curl -fsSL https://claude.ai/install.sh | bash"
|
# Fix volume permissions for binaries
|
||||||
|
- exec: "sudo chown -R $(id -u):$(id -g) /mnt/claude-binaries"
|
||||||
|
- exec: "mkdir -p /mnt/claude-binaries/local-bin /mnt/claude-binaries/local-share"
|
||||||
|
# Create config directories if needed
|
||||||
|
- exec: "mkdir -p /mnt/claude-config/.claude"
|
||||||
|
- exec: "touch /mnt/claude-config/.claude.json"
|
||||||
|
# Copy global CLAUDE.md and skills from homeadditions (if they exist)
|
||||||
|
- exec: "test -f ~/.claude-global/CLAUDE.md && cp -n ~/.claude-global/CLAUDE.md /mnt/claude-config/.claude/ || true"
|
||||||
|
- exec: "test -d ~/.claude-global/skills && cp -rn ~/.claude-global/skills /mnt/claude-config/.claude/ || true"
|
||||||
|
# Remove existing dirs/files and create symlinks
|
||||||
|
- exec: "rm -rf ~/.claude && ln -sfn /mnt/claude-config/.claude ~/.claude"
|
||||||
|
- exec: "rm -f ~/.claude.json && ln -sfn /mnt/claude-config/.claude.json ~/.claude.json"
|
||||||
|
# Symlink ~/.local/bin to volume (for claude binary)
|
||||||
|
- exec: "mkdir -p ~/.local && rm -rf ~/.local/bin && ln -sfn /mnt/claude-binaries/local-bin ~/.local/bin"
|
||||||
|
# Symlink ~/.local/share to volume (for claude versions)
|
||||||
|
- exec: "rm -rf ~/.local/share && ln -sfn /mnt/claude-binaries/local-share ~/.local/share"
|
||||||
|
# Set up PATH
|
||||||
|
- exec: "mkdir -p ~/.bashrc.d && echo 'export PATH=\"$HOME/.local/bin:$PATH\"' > ~/.bashrc.d/claude.sh"
|
||||||
|
# Install Claude Code if not already installed
|
||||||
|
- exec: "test -f /mnt/claude-binaries/local-share/claude/versions/*/claude || curl -fsSL https://claude.ai/install.sh | bash"
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
#ddev-generated
|
||||||
|
# Mount a named Docker volume for Claude Code binaries (isolated)
|
||||||
|
# Config files are stored in .ddev/claude/ (host-accessible)
|
||||||
|
|
||||||
|
services:
|
||||||
|
web:
|
||||||
|
volumes:
|
||||||
|
- claude-binaries:/mnt/claude-binaries
|
||||||
|
- ./claude:/mnt/claude-config
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
claude-binaries:
|
||||||
Reference in New Issue
Block a user