Files
homelab/k8s/applications/dev-tools/README.md
T

1.1 KiB

Claude Terminal — Persistent Remote Dev Environment

Runs Claude CLI in a persistent tmux session with web-based terminal access via gotty.

Building the Image

Build for linux/amd64:

cd homelab
docker buildx build --platform linux/amd64 \
  -t forgejo.riotpiao.com/rock/claude-terminal:latest \
  -f k8s/dev-tools/Dockerfile \
  k8s/dev-tools

# Log in to Forgejo registry
docker login forgejo.riotpiao.com \
  --username ci-bot \
  --password "$(talos get cluster/iam/agents/ci-bot --key token)"

# Push
docker push forgejo.riotpiao.com/rock/claude-terminal:latest

Or use the provided build script:

./k8s/dev-tools/build.sh

Deployment

Update values.yaml if needed, then deploy via helmfile:

helmfile apply -l name=claude-terminal

Access the terminal at: https://claude.riotpiao.com

Persistent Storage

  • All Claude configuration stored in /root/.claude (persistent PVC, 10Gi Longhorn)
  • Survives pod restarts and node reboots
  • Accessible immediately after reconnecting

SSH Access (Optional)

To add SSH access, extend the Dockerfile to include openssh-server and mount the PVC as home directory.