Skip to content

Add Docker support with ready-to-use container image#40

Open
konard wants to merge 3 commits intomainfrom
issue-6-d0c01de4
Open

Add Docker support with ready-to-use container image#40
konard wants to merge 3 commits intomainfrom
issue-6-d0c01de4

Conversation

@konard
Copy link
Contributor

@konard konard commented Sep 10, 2025

🐳 Docker Support Implementation

This PR implements Docker containerization for the claude-profiles tool as requested in issue #6.

📋 Issue Reference

Resolves #6 - Publish our own ready docker image

✨ What's Added

🐋 Docker Files

  • Dockerfile: Multi-stage build based on node:18-alpine with all required dependencies
  • .dockerignore: Optimized build context excluding unnecessary files
  • GitHub Actions Workflow: Automated Docker builds and publishing to GitHub Container Registry

📦 Container Features

  • Base Image: node:18-alpine for minimal size and security
  • Dependencies: Pre-installed GitHub CLI, unzip, git, and ca-certificates
  • Multi-Platform: Supports linux/amd64 and linux/arm64 architectures
  • Health Check: Built-in container health monitoring
  • Registry: Published to ghcr.io/deep-assistant/claude-profiles

📚 Documentation

  • Comprehensive Docker usage instructions in README.md
  • Docker Compose example for easier management
  • Volume mounting guidance for GitHub CLI auth and persistent data

🚀 Usage Examples

Quick Start

docker pull ghcr.io/deep-assistant/claude-profiles:latest
docker run -it --rm \
  -v ~/.config/gh:/root/.config/gh:ro \
  -v claude-data:/root/.claude \
  ghcr.io/deep-assistant/claude-profiles:latest --help

Available Tags

  • latest - Latest stable version
  • v1.3.0 - Specific version tags
  • main - Latest development version

🔧 Technical Details

Build Process

  • Automated builds on push to main and PR changes
  • Multi-platform builds using Docker Buildx
  • Cached builds for faster CI/CD
  • Automatic version tagging based on package.json

Container Architecture

  • Uses dynamic module loading (use-m) - no npm install needed
  • Mounts GitHub CLI config for authentication
  • Persistent volume for Claude configurations
  • Minimal attack surface with Alpine Linux base

🧪 Testing

  • Dockerfile syntax validation
  • Script syntax checking with Node.js
  • Container functionality verification in CI
  • Multi-platform build testing

📈 Version Bump

  • Updated package.json version to 1.3.0 to include Docker functionality
  • Updated README version references

🎯 Benefits

  • Containerized Deployment: Perfect for cloud development environments
  • No Local Dependencies: Everything bundled in the container
  • Consistent Environment: Same behavior across all platforms
  • Easy Distribution: Pull and run, no installation required
  • CI/CD Ready: Automated builds and publishing

🤖 Generated with Claude Code

konard and others added 3 commits September 10, 2025 21:01
Adding CLAUDE.md with task information for AI processing.
This file will be removed when the task is complete.

Issue: #6
- Add Dockerfile with Node.js 18, GitHub CLI, and unzip support
- Add .dockerignore to optimize build context
- Add GitHub Actions workflow for automated Docker builds and publishing
- Update README.md with comprehensive Docker usage instructions
- Bump version to 1.3.0 to include Docker functionality
- Support multi-platform builds (linux/amd64, linux/arm64)
- Publish to GitHub Container Registry (ghcr.io)

Resolves #6

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@konard konard changed the title [WIP] Fix issue #6 Add Docker support with ready-to-use container image Sep 10, 2025
@konard konard marked this pull request as ready for review September 10, 2025 18:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Publish our own ready docker image

1 participant