Skip to main content
Centiloc Service Documentation
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

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 Cluster
Our documentation includes guidance for a Single Machine Setup with k0s.

Helm Repository

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!
You can browse the Centiloc Harbor repository to view available versions corresponding to the chart version.

Installing the Chart

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

Uninstalling the Chart

To uninstall the my-geocore-release deployment, use the following commmand:

helm delete my-geocore-release -n geocore

Customize the Helm Chart Deployment

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.

Infrastructure Recommendations

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.

Plan service exposure

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.