Install on Kubernetes

Install Squidex on a Kubernetes cluster

Supported Platforms

  • Kubernetes 1.23+

Prerequisites

Use the Helm Chart

We provide a Helm chart that deploys Squidex along with MongoDB.

The helm chart creates the following resources / objects:

  • Deployments

    • A Squidex primary deployment

    • And a Squidex worker deployment for background jobs

  • Statefulsets

    • A MongoDB statefulset with 3 replicas

  • PVs & PVCs

    • Persistent volumes for MongoDB

  • Services

  • Ingress

The Github link below contains all the details:

https://github.com/Squidex/squidex/tree/master/helm

1. Connect to the Kubernetes Cluster

Use kubeconfig to connect to your Kubernetes cluster and ensure you are able to run kubectl commands.

2. Add the Repository

Here squidex is the name used for the repository.

helm repo add squidex https://squidex.github.io/squidex/helm/

3. Install the Chart

The below command installs version 7 of Squidex.

helm install squidex squidex/squidex7 --set env.URLS__BASEURL=https://squidex.your.domain --set ingress.hostName=squidex.your.domain
  • Here squidex/squidex7 means we are installing version 7 of Squidex.

  • Replace squidex.your.domain with your custom domain name.

4. Wait for the rollout

It may take a few minutes before the rollout is successful. Run the below command to check the status:

kubectl rollout status deployments

Below is a sample screenshot of a successful rollout

5. Verify resources/objects

You can verify / see all the objects created by running:

kubectl get all

6. Access Squidex

Open the custom URL address on a browser to continue with Squidex setup.

Troubleshooting

To troubleshoot, check deployment logs of the respective deployment. You can also check the pod logs or use the tools that are provided by your hosting providers to view the log stream.

kubectl logs deployment/squidex-squidex7

404 Error on Accessing URL

If you receive a 404 Error, It's mostly an ingress issue. Check the ingress class name for your ingress controller deployment.

This helm chart uses the ingressClassName as nginx.

Before v7.0.0: Warning for ServerGC

Don't worry if you see the following log entry:

info: Orleans.Runtime.Silo[100404] Silo starting with GC settings: ServerGC=False GCLatencyMode=Interactive warn: Orleans.Runtime.Silo[100405] Note: Silo not running with ServerGC turned on - recommend checking app config : -- warn: Orleans.Runtime.Silo[100405] Note: ServerGC only kicks in on multi-core systems (settings enabling ServerGC have no effect on single-core machines).

This is not a critical warning. ServerGC is a special Garbage Collector as it has no positive or negative impact when running with a single core. You can just ignore it. This log entry is generated by Microsoft Orleans, a framework which has been removed with v7.0.0 and is there not relevant anymore.

Solution: Request more than 1 CPU

resources:
  requests:
    cpu: 2

More Issues?

For other issues, it is likely that you have a configuration problem not related to hosting under Kubernetes. Checkout the following documentation:

Configuration

Last updated