A local vaclab clone based on Rancher Desktop. This repository helps you build a functional single-node cluster clone of the original vaclab environment with monitoring, logging, and other required components exposed through local ingresses.
| Feature/Component | Status |
|---|---|
| Original vaclab VictoriaMetrics setup | ✅ OK |
| Original vaclab VictoriaLogs setup | ✅ OK |
| Grafana clone | ✅ OK |
| Ingress (no port forwarding) | ✅ OK |
| Tested on Linux | ✅ OK |
| Tested on Mac | ❌ Not yet |
| External/P2P access (from other laptop) | ❌ Not yet |
| Windows support | ❌ No |
| Documentation |
For easy access, all services are exposed via localtest.me using ingress (no TLS used for now, everything is exposed through http)
- Grafana at: http://grafana.localtest.me
- VictoriaLogs at: http://vselect.localtest.me
- Kubernetes (Rancher Desktop): Local single-node K3S cluster
- Traefik: Ingress controller for local domains (e.g.,
grafana.localtest.meandvselect.localtest.me) - VictoriaMetrics: Metrics monitoring stack
- VictoriaLogs: Centralized log management
- Grafana: Dashboards for metrics and logs
- Rancher Desktop (latest)
- OS: Linux (Debian recommended) or macOS
- Linux only: To allow Traefik to bind to port 80:
- Copy the provided sysctl config file:
sudo cp 99-vaclab.sysctl.conf /etc/sysctl.d/
- Apply the new sysctl settings:
sudo sysctl --system
By default, Linux restricts binding to ports <1024 to root. The sysctl config sets
net.ipv4.ip_unprivileged_port_start=80, allowing Traefik (running as non-root in Kubernetes) to listen on port 80. This step is not required on macOS or Windows. - Copy the provided sysctl config file:
-
Install Rancher Desktop
- Follow the official instructions for your platform: Rancher Desktop Installation Guide
Note: Rancher Desktop provides
kubectlandhelmbinaries in~/.rd/bin/. You do not need to install them separately. -
First Launch:
- Enable Kubernetes in the UI (toggle the Kubernetes option).
- Select Kubernetes version v1.33.6 (stable) for best compatibility.
- Choose containerd as your container runtime.
with Docker some metric labels are not exported by cadvisor.
- Wait for Rancher Desktop to finish provisioning the cluster. The Cluster Dashboard menu will become clickable when ready.
-
Environment Setup:
- After enabling Kubernetes, ensure your shell exports the Rancher Desktop binaries:
source ~/.bashrc # Or for zsh: source ~/.zshrc
- Confirm
kubectlandhelmare available:which kubectl which helm # Should show ~/.rd/bin/kubectl and ~/.rd/bin/helm
- After enabling Kubernetes, ensure your shell exports the Rancher Desktop binaries:
- Review and edit values files if needed (optional):
vmetrics.values.yaml(VictoriaMetrics monitoring stack)vlogs.values.yaml(VictoriaLogs stack)
- Run the setup script:
sh setup.sh
Note: Run as a regular user (not with
sudo)
- If you see permission errors, ensure you run the script as a regular user.
- If
kubectlorhelmare not found, make sure Rancher Desktop is installed, Kubernetes is enabled, and your shell is sourced.
Contributions are welcome! Please open issues or pull requests for improvements, bug fixes, or new features.
For questions or help, open an issue or contact the maintainers via GitHub or Discord.