Initial commit: Socktop WebTerm with k3s deployment
- 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
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
╔═══════════════════════════════════════════════════════════════════════╗
|
||||
║ 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
|
||||
Reference in New Issue
Block a user