A Kubernetes-deployed web-based terminal application for long-running tmux sessions, specifically designed for AI model interactions like Claude. Features persistent sessions, remote notifications, file transfer, and a customizable web UI.
- π― Persistent TMux Sessions - Shared sessions that survive browser disconnections
- π‘ Remote Mode - Push notifications via ntfy.sh for AI interactions
- π Customizable UI - Configurable colors, titles, and themes
- π File Transfer - Drag-and-drop upload/download functionality
- π§ Pre-installed Tools - kubectl, helm, k9s, btop, gh, kubectx, and more
- π¨ Web Terminal - Browser-based access with full color support
- πΎ NFS Storage - Persistent data storage across pod restarts
- βοΈ Configuration UI - Easy setup of NTFY servers and topics
- Kubernetes cluster with LoadBalancer support
- NFS server accessible at
10.0.0.10with paths:/volume1/k8s/k8s-tmux/volume1/WiredQuill
kubectl apply -f deployments/prod/enhanced-terminal.yamlAccess the terminal at the assigned LoadBalancer IP on port 80.
k8s-tmux/
βββ deployments/
β βββ prod/ # Production-ready deployments
β β βββ enhanced-terminal.yaml # Full-featured terminal with UI
β β βββ production-terminal.yaml # Production terminal with secrets
β βββ dev/ # Development and test deployments
βββ scripts/ # Build and utility scripts
β βββ build.sh # Container build script (uses wq-prod buildkit)
β βββ claude-build.sh # Claude-specific build script
β βββ check-actions.sh # GitHub Actions checker
βββ config/ # Configuration files
β βββ automation-config.js # Terminal automation
β βββ remote-mode-script.sh # Remote mode functionality
β βββ tmux.conf # TMux configuration
β βββ init.sh # Container initialization
βββ charts/ # Helm charts
β βββ k8s-tmux/ # Main Helm chart
βββ docs/ # Documentation
- Click the βοΈ Config button in the terminal UI
- Configure your NTFY server and topic:
- Server:
https://ntfy.wiredquill.com(or your server) - Topic:
ai_communication(or custom topic)
- Server:
- Click Save Configuration
- Use π‘ Remote button to toggle remote mode
- Title: Set a custom session title for identification
- Colors: Choose from 7 color themes (Green, Red, Blue, Yellow, Purple, Cyan, Orange)
- Border: Colored border wraps the entire application for easy session identification
- Upload: Drag files to the terminal or use the π€ Upload button
- Download: Use π₯ Download button and enter filename
- Files are stored in
/mnt/k8s-tmux/within the container
# Uses wq-prod cluster buildkit service
./scripts/build.shFor GitHub CLI and Claude Code authentication:
# GitHub token
kubectl create secret generic github-secrets \
--from-literal=github-token=YOUR_TOKEN -n k8s-tmux
# Claude API key
kubectl create secret generic claude-secrets \
--from-literal=claude-api-key=YOUR_KEY -n k8s-tmuxhelm install k8s-tmux ./charts/k8s-tmux \
--namespace k8s-tmux \
--create-namespacekubectl get pods -n k8s-tmux
kubectl logs -n k8s-tmux <pod-name>Ensure NFS server is accessible and paths exist:
showmount -e 10.0.0.10Check NTFY configuration in the Config panel and verify server accessibility.
- Secrets Integration - Kubernetes secrets for API keys
- Network Policies - Optional network isolation
- RBAC Support - Role-based access control ready
- Non-root Options - Configurable user execution
# Quick development deployment
kubectl apply -f deployments/dev/simple-working-terminal.yaml- Create feature branch
- Test with development deployments
- Update documentation
- Submit pull request
- AI Development - Long-running sessions for Claude/ChatGPT interactions
- Kubernetes Management - Pre-configured kubectl, helm, k9s access
- Remote Collaboration - Shared tmux sessions with notifications
- DevOps Workflows - Persistent development environment
- Multi-Environment Management - Color-coded session identification
- Issues: GitHub Issues
- Notifications: Configure ntfy.sh for real-time updates
- Remote Mode: Enable for AI interaction notifications
Built for AI-enhanced development workflows π€β¨