Installing Geocore OnPremise
Before proceeding with the Geocore installation, please ensure that you have satisfied the necessary prerequisites. For detailed information, consult the Software Requirements and Hardware Recommendations sections. Make sure you also have access to a Kubernetes cluster that suits your specific needs.
Kubernetes ClusterOur documentation includes guidance for a Single Machine Setup with k0s.
Helm charts are hosted in https://harbor.centiloc.com and accessible via oci protocol. This means harbor uses (as helm supports) registry protocol to access charts.
So you need to login using docker to harbor first. Then you can directly install helm charts using oci access:
echo "<password>" | helm registry login oci://harbor.centiloc.com/centiloc/geocore --username <username> --password-stdin
helm install -n my-geocore-release --create-namespace geocore oci://harbor.centiloc.com/centiloc/geocore -f myvalues.yaml
Check repository!
The initial step to install Geocore using Helm is to create a configuration file (let’s name it myvalues.yaml) where you specify your credentials for accessing the Centiloc Harbor repository. Below is an example:"
global:
imageCredentials:
registry: harbor.centiloc.com
email: <the email of your account>
password: <your password>
username: <your username>
After completing these steps, you can install the chart with the release name my-geocore-release in the geocore namespace using the following command:
helm install -n my-geocore-release --create-namespace geocore oci://harbor.centiloc.com/centiloc/geocore -f myvalues.yaml
After a few minutes, you can use the following kubectl command to check the status of the installation in the geocore namespace by listing the pods:
kubectl get pods -n geocore
To uninstall the my-geocore-release deployment, use the following commmand:
helm delete my-geocore-release -n geocore
You may wish to customize the Geocore installation to suit your specific system. We highly recommend a thorough review of the chart documentation to ensure that the deployment of the Geocore solution aligns with your specific requirements and available resources.
Depending on your deployment environment and resource constraints, you may need to deploy infrastructure components. Below, you’ll find a table of recommendations:
| Parameter | Single machine setup | Multi Nodes Cluster |
|---|---|---|
global.logLevel |
INFO |
INFO |
global.configuration.persistence |
✅ | ✅ |
global.configuration.redundancy |
❌ | ✅ |
global.configuration.streamTech |
KAFKA |
KAFKA |
global.configuration.autoCreate |
✅ | ✅ |
global.postgresql |
Use geocore postgresql with external backup | Use an externally managed DB |
global.kafka |
replicaCount=1 if possible |
✅ |
global.emqx |
✅ with replicaCount=1 |
✅ |
global.redis |
no replica | Add 1 replica at least |
For a complete single-node configuration, see Single-node k0s Setup.
Before installing the chart, decide how clients will reach MQTT, NTP, the API, and Centui. MQTT and NTP are direct NodePort services. API and Centui must go through the Contour Envoy gRPC-Web proxy, exposed through NodePort, LoadBalancer, or TLS.
See Service Exposure for the complete model, then follow either the k0s guide or the Ingress guide for the corresponding configuration.