Commit Graph

9 Commits

Author SHA1 Message Date
Vishal Jain
70040a7444 Fix Docker build command variable expansion
Fixed shell variable expansion issue in docker build command.
System packages now install correctly during build process.
2025-06-18 01:20:29 +01:00
Vishal Jain
67f2692aad Add conda package directories support
Added CONDA_PKGS_DIRS environment variable setting to ensure conda
looks in the correct package cache directories inside the container.
This matches the pattern used for CONDA_ENVS_DIRS.
2025-06-18 01:05:33 +01:00
Vishal Jain
1d1d6bcbaf Improve conda environment directory detection
Changed pattern to *env* to match both envs and conda_envs directories.
This ensures all environment directories are added to CONDA_ENVS_DIRS.
2025-06-18 01:01:35 +01:00
Vishal Jain
51edcfc2bb Fix conda_envs directory detection
Changed pattern from */envs* to *envs* to match conda_envs directories.
Now both .conda/envs and conda_envs directories are added to CONDA_ENVS_DIRS.
2025-06-18 01:00:56 +01:00
Vishal Jain
a53d28bf2f Add comprehensive conda integration for academic environments
Enhanced conda support to handle custom environment and package directories:

Key Changes:
- Mount conda installation at original path (not /opt/miniconda3)
- Add CONDA_EXTRA_DIRS for mounting additional search paths
- Mount all conda-configured directories to preserve existing setup
- Update CLAUDE.md to use ${CONDA_EXE} environment variable

Technical Details:
- Preserves original conda paths so existing configuration works
- Handles multiple envs_dirs and pkgs_dirs automatically
- Provides feedback about which directories are mounted
- Falls back gracefully for missing directories

Example usage: CONDA_EXTRA_DIRS="/vol/path/.conda/envs /vol/path/conda_envs /vol/path/.conda/pkgs"
Result: All conda environments and packages accessible in container.
2025-06-18 00:21:01 +01:00
Vishal Jain
7cd765b756 Implement zero-friction authentication persistence with MCP user scope
Major breakthrough solving the authentication chicken-and-egg problem:

Key Changes:
- Copy ~/.claude.json and ~/.claude/ during Docker build for baked-in auth
- Add -s user flag to claude mcp add-json for persistent MCP servers
- Simplify rebuild logic to prevent unnecessary rebuilds
- Update documentation with rebuild instructions

Technical Details:
- Authentication files placed before USER switch in Dockerfile
- MCP configuration now persists across all sessions
- Rebuild only occurs when image doesn't exist
- Clean separation of build vs runtime concerns

Result: Users authenticate once on host, then zero login prompts forever.
SMS notifications ready immediately on container start.
2025-06-17 22:27:11 +01:00
Vishal Jain
6cb57c9dc6 Fix Twilio MCP integration with baked-in credentials
- Add proper type and env sections to mcp-config.json
- Remove dynamic MCP add command, use pre-configured MCP
- Bake .env credentials into Docker image at build time
- Remove runtime .env volume mount - true one-time setup
- Auto-rebuild image when .env file changes
- Export Twilio env vars for MCP server subprocess
- Remove conflicting .mcp.json file
2025-06-13 09:53:43 +01:00
Vishal Jain
dcc936dc10 Implement authentication persistence for Claude Docker
- Add persistent volume mount for Claude home directory (~/.claude)
- Create non-root user in Docker container for better security
- Mount host ~/.claude-docker/claude-home to container ~/.claude
- Update install script to create claude-home directory
- Check for existing credentials on startup
- Authentication tokens now persist across container restarts
2025-06-12 14:09:10 +01:00
Vishal Jain
23524659e8 Initial commit: Claude Docker setup
- Dockerfile with Claude Code and Twilio MCP integration
- Wrapper script for easy invocation from anywhere
- Auto-setup of .claude directory in projects
- SMS notifications via Twilio when tasks complete
- Installation script for zshrc alias
- Full autonomous permissions with --dangerously-skip-permissions
- Context persistence via scratchpad.md
2025-06-11 10:29:15 +01:00