Skip to content

Instantly share code, notes, and snippets.

View karthiks's full-sized avatar
🎯
Focusing

Karthik Sirasanagandla karthiks

🎯
Focusing
View GitHub Profile
@karthiks
karthiks / Dockerfile
Last active April 30, 2026 05:38
Dockerfile to setup dev environment for Claude Code to build Expo / React Native app
# --- Stage 1: The JDK Provider ---
FROM eclipse-temurin:17-jdk-jammy AS jdk-source
# --- Stage 2: Final Development Image ---
FROM node:20-slim
# Build arguments for user configuration
ARG USERNAME=ccagent
ARG WORKDIR=app
@karthiks
karthiks / docker-compose.yml
Created April 28, 2026 14:17
docker-compose to build the image and runt it for setting up dev environment for Claude Code to build Expo / React Native app
services:
tel_hanuma_chalisa:
# When you have default setup with Dockerfile being the name
# build: .
# Being explicit for clarity
build:
context: .
dockerfile: Dockerfile.dev
image: tel_hanuma_chalisa:latest
container_name: thc
# Reference config for ReDroid in docker-compose
# This one is likely resource intensive.
# When I added another service my Docker started restarting because of resource contention with host OS having only 16GB RAM.
services:
redroid:
image: redroid/redroid:16.0.0-latest
container_name: redroid
restart: unless-stopped
privileged: true
@karthiks
karthiks / .wslconfig
Last active April 27, 2026 12:57
Sample WSL Config to balance Docker on Windows resource utilization with host machine
# This .wslconfig can be found in your windows host @ C:\Users\{your-user}\.wslconfig
[wsl2]
localhostForwarding=true
# default memory limit is 50% of available memory (setting higher limit might slow down your host performance)
memory=10GB
# Sets the amount of swap space (virtual memory on disk)
# This acts as a safety net if your containers spike
@karthiks
karthiks / Docker.jdtls
Created April 19, 2026 06:35
Reference Implementation - Minimal one to install JDTLS in Docker container
# Use official Maven image with JDK 21
FROM maven:3.9.6-eclipse-temurin-21
# Install dependencies for JDTLS (Python is required for the wrapper script)
RUN apt-get update && apt-get install -y \
python3 \
wget \
tar \
&& rm -rf /var/lib/apt/lists/*
@karthiks
karthiks / Dockerfile.melchizedek.claude
Created April 18, 2026 08:28
Reference Implementation - Melchizedek as Persistent Memory
# Stage 1: "Borrow" the binaries from official images
FROM maven:3.9.6-eclipse-temurin-21-jammy AS maven_source
FROM eclipse-temurin:21-jdk-jammy AS java_source
# Stage 2: Final Development Image
FROM node:20-slim
# 1. Install critical system dependencies (optimized)
RUN apt-get update && apt-get install -y --no-install-recommends \
bash curl git vim jq ca-certificates \
@karthiks
karthiks / docker-compose.bitfrost.yml
Created April 18, 2026 05:56
Reference docker-compose file leveraging Bitfrost AI Gateway as service dependency for Claude Code dev container
# Build the image
# Ref.: https://openrouter.ai/docs/guides/coding-agents/claude-code-integration
# Bash: export ANTHROPIC_BASE_URL="http://bifrost:8080/anthropic" ANTHROPIC_API_KEY="" ANTHROPIC_AUTH_TOKEN="your-api-key-here"
# PowerShell: $env:ANTHROPIC_BASE_URL="http://bifrost:8080/anthropic"; $env:ANTHROPIC_API_KEY=""; $env:ANTHROPIC_AUTH_TOKEN="your-api-key-here"
# docker compose build
# Launch the environment
# The --rm flag ensures that once you type exit, the container instance is removed, keeping your Docker environment tidy.
# docker compose run --rm claude-dhanj
@karthiks
karthiks / docker-compose.ccr.yml
Created April 17, 2026 07:51
Sample docker-compose file to host ClaudeCodeRouter as a service upon which ClaudeCode depends upon
# Build the image
# docker compose build -e CC_API_KEY=""
# Launch the environment
# The --rm flag ensures that once you type exit, the container instance is removed, keeping your Docker environment tidy.
# docker compose run --rm claude-dhanj
# Consistency: If you run docker ps, you'll see claude-dhanj. If you run docker images, you'll see claude-dhanj.
# Volume Sync: Since your volume is mapped to ${PWD}, any code changes made by the Claude Code CLI inside the container will instantly appear on your host machine.
# Memory Safety: The deploy block ensures that even if a Maven build or a heavy Node process spikes, it stays within your defined 8GB limit.
@karthiks
karthiks / ccr-config-template.json
Created April 17, 2026 07:46
Template of config.json for Claude Code Router
{
"HOST": "0.0.0.0",
"PORT": 3456,
"APIKEY": "apikey-ccr",
"LOG": true,
"LOG_LEVEL": "info",
"Providers": [
{
"NAME": "groq",
"HOST": "https://api.groq.com/openai/v1/chat/completions",
@karthiks
karthiks / Dockerfile.ccr.claude
Last active April 17, 2026 15:14
Dockerfile - Config Claude Code in Docker container to connect to CCR AI Gateway
FROM node:20-bookworm-slim
# 1. Install System Deps
RUN apt-get update && apt-get install -y --no-install-recommends \
bash curl git vim jq ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# 2. Workspace Setup (Still root)
WORKDIR /workspace