One-page guide to get WaddleBot running on Kubernetes in minutes.
# Install and deploy in one command
cd /home/penguin/code/WaddleBot/k8s
./install-microk8s.sh --build-imagesWhat it does:
- Installs MicroK8s if needed
- Enables required addons (dns, storage, registry, ingress)
- Builds all Docker images
- Pushes images to cluster registry
- Deploys WaddleBot with Helm
- Configures access
Access: http://waddlebot.local or http://localhost:30080
# Install and deploy to kind cluster
cd /home/penguin/code/WaddleBot/k8s
./install-k8s.sh --kind --build-imagesWhat it does:
- Creates kind cluster with ingress support
- Sets up local registry
- Builds all Docker images
- Pushes images to local registry
- Deploys WaddleBot with Helm
- Configures ingress
Access: http://waddlebot.local
# Install and deploy to minikube
cd /home/penguin/code/WaddleBot/k8s
./install-k8s.sh --minikube --build-imagesWhat it does:
- Starts minikube cluster
- Enables addons (ingress, registry, storage)
- Builds all Docker images
- Pushes images to minikube registry
- Deploys WaddleBot with Helm
- Configures ingress
Access: http://waddlebot.local or minikube service hub -n waddlebot
Check that everything is running:
# View all pods
kubectl get pods -n waddlebot
# All pods should show STATUS: Running or Completed
# Example output:
# NAME READY STATUS RESTARTS AGE
# postgres-xxxxx 1/1 Running 0 2m
# redis-xxxxx 1/1 Running 0 2m
# router-xxxxx 1/1 Running 0 1m
# hub-xxxxx 1/1 Running 0 1m
# ...-
Access the Hub UI:
- Navigate to http://waddlebot.local
- Or http://localhost:30080 (MicroK8s NodePort)
-
Default Credentials:
- Username:
admin - Password:
admin(change immediately!)
- Username:
-
Initial Setup:
- Create your first community
- Configure platform integrations (Twitch, Discord, Slack)
- Set up your first bot commands
# View logs
kubectl logs -n waddlebot deployment/hub -f
kubectl logs -n waddlebot deployment/router -f
# Restart a service
kubectl rollout restart deployment/hub -n waddlebot
# Check service status
kubectl get svc -n waddlebot
# Port forward for direct access
kubectl port-forward -n waddlebot svc/hub 8060:8060
# Then access: http://localhost:8060# Check pod details
kubectl describe pod -n waddlebot <pod-name>
# View pod logs
kubectl logs -n waddlebot <pod-name>Add to /etc/hosts:
echo "127.0.0.1 waddlebot.local" | sudo tee -a /etc/hosts# MicroK8s: Rebuild images
./install-microk8s.sh --build-images
# kind/minikube: Rebuild images
./install-k8s.sh --kind --build-images # or --minikube# MicroK8s
./install-microk8s.sh --uninstall
# kind
./install-k8s.sh --kind --uninstall
# minikube
./install-k8s.sh --minikube --uninstall┌─────────────────────────────────────────────────────────────┐
│ Kubernetes Cluster │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────────────────────┐ │
│ │ Ingress │─────▶│ Hub (Admin Portal) │ │
│ │ (Nginx) │ │ Port: 8060 │ │
│ └──────────────┘ └──────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ Core Services │ │
│ │ • Router (8000) - Command routing │ │
│ │ • Identity (8050) - User management │ │
│ │ • Labels (8023) - Label system │ │
│ │ • Reputation (8021) - User reputation │ │
│ │ • Community (8020) - Communities │ │
│ │ • Browser Source (8027) - OBS integration │ │
│ │ • AI Researcher (8070) - Research tools │ │
│ └──────────────────────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ Collector Modules (Triggers) │ │
│ │ • Twitch (8002) • Discord (8003) │ │
│ │ • Slack (8004) • YouTube Live (8006) │ │
│ │ • Kick (8007) │ │
│ └──────────────────────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ Interactive Modules (Actions) │ │
│ │ • AI (8005) • Alias (8010) │ │
│ │ • Shoutout (8011) • Inventory (8024) │ │
│ │ • Calendar (8030) • Memories (8031) │ │
│ │ • YouTube Music (8025) • Spotify (8026) │ │
│ │ • Loyalty (8032) │ │
│ └──────────────────────────────────────────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ Infrastructure │ │
│ │ • PostgreSQL (5432) - Database │ │
│ │ • Redis (6379) - Cache/sessions │ │
│ │ • MinIO (9000/9001) - Object storage │ │
│ │ • Qdrant (6333) - Vector database │ │
│ │ • Ollama (11434) - Local LLM │ │
│ └──────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
Minimum:
- 8 GB RAM
- 4 CPU cores
- 50 GB disk space
Recommended:
- 16 GB RAM
- 8 CPU cores
- 100 GB disk space
Questions? Issues?
- 📧 GitHub Issues: https://github.com/waddlebot/waddlebot/issues
- 📚 Documentation:
/docs/directory - 💬 Community: (link to Discord/Slack)