AMD GAIA development container with Claude Code
1.7K
Docker container for AMD GAIA - Development edition with Claude Code.
Current Container Version: 1.2.0
The itomek/gaia-dev container provides a complete AMD GAIA development environment with Claude Code integration. GAIA is cloned from source and installed in editable mode, making it perfect for development and contributions.
Key Features:
gaia with passwordless sudouv package managerlatest tag - all versions explicitly taggeddocker pull itomek/gaia-dev:1.2.1
docker run -dit \
--name gaia-dev \
-v gaia-src:/home/gaia/gaia \
-e LEMONADE_BASE_URL=https://your-server.com/api/v1 \
-e GAIA_REPO_URL=https://github.com/amd/gaia.git \
-e GITHUB_TOKEN=ghp_your_token \
-e ANTHROPIC_API_KEY=sk-ant-your_key \
itomek/gaia-dev:1.2.1
Note: Using a named volume (gaia-src:/home/gaia/gaia) persists the GAIA source code between container restarts, avoiding re-cloning.
docker exec -it gaia-dev zsh
# Check GAIA installation
gaia --version
# Start Claude Code for AI-assisted development
claude
# Work with GAIA source
cd ~/gaia
git status
For complete GAIA usage documentation, see AMD GAIA.
| Variable | Required | Default | Description |
|---|---|---|---|
LEMONADE_BASE_URL | Yes | - | Lemonade server API endpoint (e.g., https://your-server.com/api/v1) |
GAIA_REPO_URL | Yes | - | Git repository URL to clone (e.g., https://github.com/amd/gaia.git) |
GITHUB_TOKEN | Yes | - | GitHub token for authenticated cloning and gh CLI configuration |
ANTHROPIC_API_KEY | No | - | Claude Code API key (if not provided, uses interactive login) |
SKIP_GAIA_CLONE | No | false | Skip cloning GAIA repository (use if volume already contains source) |
The container follows this startup flow:
gaia created with passwordless sudouv (fast Python package installer) installed globallyLEMONADE_BASE_URL is setGAIA_REPO_URL (if not present in volume)uv pip install -e .GITHUB_TOKEN providedANTHROPIC_API_KEY for Claude CodeSince GAIA is installed in editable mode, changes are immediately reflected:
# Enter container
docker exec -it gaia-dev zsh
# Navigate to GAIA source
cd ~/gaia
# Make changes
vim src/gaia/some_file.py
# Test immediately (no reinstall needed)
gaia --help
Claude Code is pre-installed and ready to use:
# Start Claude Code
claude
# Claude can help you:
# - Understand the GAIA codebase
# - Write new features
# - Debug issues
# - Write tests
# - Improve documentation
GitHub CLI is configured with your token:
# Check git status
git status
# Create a branch
git checkout -b feature/my-change
# Use gh CLI
gh pr create
gh issue list
You can extend this image for your own development environment:
FROM itomek/gaia-dev:1.2.1
# Install additional development tools
RUN apt-get update && \
apt-get install -y vim emacs tmux && \
apt-get clean
# Install additional Python packages
RUN uv pip install --system debugpy ipdb
# Add custom configurations
COPY .vimrc /home/gaia/
COPY .tmux.conf /home/gaia/
USER gaia
For more examples, see Dockerfile usage guide.
The gaia-dev container uses independent versioning from the GAIA package:
itomek/gaia-dev:1.2.1) indicate development environment featuresGAIA_REPO_URLlatest tag for reproducibility)Version history:
1.2.0 - Native Claude Code installer (user-owned, auto-updates enabled), DEVCONTAINER env1.1.0 - Migrated to Ubuntu 24.04 LTS base image, uv-managed Python1.0.0 - Development container with Claude Code, virtual environment, and editable GAIA installUsing a named volume for the GAIA source code is recommended:
# First run - clones GAIA
docker run -dit \
--name gaia-dev \
-v gaia-src:/home/gaia/gaia \
-e LEMONADE_BASE_URL=https://your-server.com/api/v1 \
-e GAIA_REPO_URL=https://github.com/amd/gaia.git \
-e GITHUB_TOKEN=ghp_your_token \
itomek/gaia-dev:1.2.1
# Stop and remove container
docker stop gaia-dev && docker rm gaia-dev
# Restart with same volume - GAIA source persists
docker run -dit \
--name gaia-dev \
-v gaia-src:/home/gaia/gaia \
-e LEMONADE_BASE_URL=https://your-server.com/api/v1 \
-e GAIA_REPO_URL=https://github.com/amd/gaia.git \
-e GITHUB_TOKEN=ghp_your_token \
-e SKIP_GAIA_CLONE=true \
itomek/gaia-dev:1.2.1
Check that required environment variables are set:
docker logs gaia-dev
You should see validation and clone/installation progress.
If ANTHROPIC_API_KEY is not provided, Claude Code will prompt for interactive login on first use:
docker exec -it gaia-dev claude
# Follow prompts to authenticate
If the volume already contains GAIA source, set SKIP_GAIA_CLONE=true to skip cloning:
docker run -dit \
--name gaia-dev \
-v gaia-src:/home/gaia/gaia \
-e LEMONADE_BASE_URL=https://your-server.com/api/v1 \
-e SKIP_GAIA_CLONE=true \
itomek/gaia-dev:1.2.1
MIT License - see LICENSE file
Content type
Image
Digest
sha256:06b485e3b…
Size
687.6 MB
Last updated
6 months ago
docker pull itomek/gaia-dev:1.2.1