# Homepage K3s Configuration A complete Kubernetes configuration for deploying [Homepage](https://gethomepage.dev/) dashboard on K3s clusters. ## Quick Start Deploy Homepage to your K3s cluster: ```bash kubectl apply -k k8s/ ``` ## Configuration The configuration includes: - **Namespace**: `homepage` namespace with service account - **RBAC**: ClusterRole with permissions to read cluster resources - **ConfigMap**: Pre-configured with widgets for K3s monitoring - **Deployment**: Secure deployment with resource limits and health checks - **Service**: ClusterIP service on port 3000 - **Ingress**: Traefik-compatible ingress with TLS support ## Access After deployment, Homepage will be available at: - HTTP: `http://sortifal.fr` - HTTPS: `https://sortifal.fr` (with cert-manager) Ensure your DNS points `sortifal.fr` to your K3s ingress IP. ## Customization ### Update Configuration Edit the ConfigMap in `k8s/configmap.yaml` to customize: - **services.yaml**: Your applications and services - **bookmarks.yaml**: Quick links and bookmarks - **widgets.yaml**: Dashboard widgets (cluster info, resources, etc.) - **settings.yaml**: Theme, layout, and provider settings Apply changes: ```bash kubectl apply -k k8s/ kubectl rollout restart deployment/homepage -n homepage ``` ### Change Domain Update `sortifal.fr` in `k8s/ingress.yaml` and the `HOMEPAGE_ALLOWED_HOSTS` environment variable in `k8s/deployment.yaml`. ### Resource Limits Adjust CPU/memory limits in `k8s/deployment.yaml` based on your needs. ## Monitoring Homepage includes widgets for monitoring your K3s cluster: - Cluster CPU and memory usage - Node status and resources - Pod information across namespaces - System resources ## Troubleshooting Check deployment status: ```bash kubectl get pods -n homepage kubectl logs -n homepage deployment/homepage ``` Verify RBAC permissions: ```bash kubectl auth can-i get nodes --as=system:serviceaccount:homepage:homepage ``` ## Security The configuration follows security best practices: - Non-root container execution - Read-only root filesystem where possible - Minimal RBAC permissions - Resource limits - Security contexts - Dropped capabilities