Installation Guide (Helm)
This guide covers deploying Kioskmanager to a Kubernetes cluster using the provided Helm chart.
Prerequisites
Ensure you have the following before proceeding:
- Kubernetes cluster (v1.19+ recommended).
- Helm v3.0+.
kubectlconfigured to your cluster.- Nginx Ingress Controller installed in your cluster.
- A Persistent Volume (PV) provisioner (if using persistent media storage).
- Your Kioskmanager Docker image pushed to a container registry.
- Your Kioskmanager application image meets the requirements outlined in the main project README.md.
Installation Steps
Add the Helm repo:
bashhelm repo add kioskmanager https://mbcom.github.io/kioskmanager/ helm repo updateConfigure Values:
- Review and customize
values.yamlfor your environment. - Crucially, you need to set required values like the admin password (
adminPassword), database password(s) (postgresql.auth.passwordorexternalDatabase.password), and ingress host (ingress.hosts[0].host). - It is strongly recommended to manage sensitive values like passwords using
--setflags during installation or dedicated Kubernetes secrets, rather than committing them directly tovalues.yaml.
- Review and customize
Install the Chart:
Example using internal PostgreSQL:
bashhelm install kioskmanager kioskmanager/kioskmanager \ --namespace <your-namespace> \ --create-namespace \ --set ingress.hosts[0].host=kioskmanager.yourdomain.com \ --set adminPassword=<your-secure-admin-password> \ --set postgresql.auth.password=<your-secure-db-password>Example using external PostgreSQL:
bashhelm install kioskmanager kioskmanager/kioskmanager \ --namespace <your-namespace> \ --create-namespace \ --set ingress.hosts[0].host=kioskmanager.yourdomain.com \ --set adminPassword=<your-secure-admin-password> \ --set postgresql.enabled=false \ --set externalDatabase.host=<your-external-db-host> \ --set externalDatabase.username=<your-external-db-user> \ --set externalDatabase.password=<your-secure-external-db-password> \ --set externalDatabase.database=<your-external-db-name>
Verify Deployment: Check the status of the pods, services, ingress, and persistent volume claims:
bashkubectl get all -n <your-namespace> kubectl get pvc -n <your-namespace> kubectl logs deployment/<release-name>-kioskmanager -n <your-namespace> # Check application logs
For a detailed list of all configurable Helm values, refer to the README.md in the root of the Kioskmanager project repository or the values.yaml file in the Helm chart.