- Multi-architecture Docker image (ARM64 + AMD64) - Kubernetes manifests for 3-replica deployment - Traefik ingress configuration - NGINX Proxy Manager integration - ConfigMap-based configuration - Automated build and deployment scripts - Session monitoring tools
73 lines
3.1 KiB
Plaintext
73 lines
3.1 KiB
Plaintext
╔═══════════════════════════════════════════════════════════════════════╗
|
|
║ Socktop WebTerm - Kubernetes Deployment Files ║
|
|
║ Ready for k3s Cluster with Traefik ║
|
|
╚═══════════════════════════════════════════════════════════════════════╝
|
|
|
|
📁 KUBERNETES MANIFESTS (Deploy in order)
|
|
├─ 01-configmap.yaml Config files (profiles, alacritty, theme)
|
|
├─ 02-secret.yaml TLS certificates placeholder
|
|
├─ 03-deployment.yaml 3 replicas, host network, resource limits
|
|
├─ 04-service.yaml ClusterIP with session affinity
|
|
└─ 05-ingress.yaml Traefik ingress for 3 domains (HTTP only)
|
|
|
|
🛠️ DEPLOYMENT TOOLS
|
|
├─ deploy.sh ⭐ Automated deployment script (USE THIS!)
|
|
├─ kustomization.yaml Kustomize configuration
|
|
└─ registries.yaml.example k3s registry config template
|
|
|
|
📚 DOCUMENTATION
|
|
├─ INDEX.md 📍 Start here - Overview & navigation
|
|
├─ QUICKSTART.md ⚡ 5-minute deployment guide
|
|
├─ README.md 📖 Comprehensive guide & troubleshooting
|
|
├─ CHECKLIST.md ✅ Pre-deployment verification
|
|
└─ NGINX-PROXY-MANAGER.md 🔧 External proxy configuration guide
|
|
|
|
🚀 QUICK DEPLOY
|
|
1. Configure k3s registry: See registries.yaml.example
|
|
2. Run: ./deploy.sh
|
|
3. Configure NGINX Proxy Manager: See NGINX-PROXY-MANAGER.md
|
|
4. Access: https://socktop.io
|
|
|
|
🔧 KEY FEATURES
|
|
• 3 replicas across k3s nodes
|
|
• Host networking for Pi access (192.168.1.101-104:8443)
|
|
• Session affinity for terminal connections
|
|
• Traefik ingress (default with k3s)
|
|
• External SSL termination via NGINX Proxy Manager
|
|
• WebSocket support for terminals
|
|
• Containerized agent on port 3001
|
|
|
|
⚠️ IMPORTANT SETUP STEPS
|
|
1. Configure /etc/rancher/k3s/registries.yaml on ALL k3s nodes
|
|
2. Deploy to k3s cluster (./deploy.sh)
|
|
3. Configure NGINX Proxy Manager:
|
|
- Create proxy hosts for each domain
|
|
- Point to k3s-node-ip:8080
|
|
- Enable WebSocket support
|
|
- Add SSL certificates
|
|
- See NGINX-PROXY-MANAGER.md for details
|
|
4. Point DNS to NGINX Proxy Manager external IP
|
|
|
|
📊 RESOURCE REQUIREMENTS (Total for 3 replicas)
|
|
• CPU: 1.5 cores (request), 6 cores (limit)
|
|
• RAM: 768 MB (request), 3 GB (limit)
|
|
|
|
🌐 TRAFFIC FLOW
|
|
Internet (HTTPS:443)
|
|
↓
|
|
NGINX Proxy Manager (SSL termination)
|
|
↓ (HTTP)
|
|
k3s Traefik Ingress (port 8080)
|
|
↓
|
|
Socktop WebTerm Service
|
|
↓
|
|
Pods (3 replicas with host networking)
|
|
|
|
🌐 DOMAINS (Configure in NGINX Proxy Manager)
|
|
• socktop.io → k3s-node:8080
|
|
• www.socktop.io → k3s-node:8080
|
|
• origin.socktop.io → k3s-node:8080
|
|
|
|
✅ All files ready for deployment to k3s cluster!
|
|
SSL handled externally via NGINX Proxy Manager on port 8080
|