# Continuwuity for Kubernetes Continuwuity doesn't support horizontal scalability or distributed loading natively. However, a deployment in Kubernetes is very similar to the [docker setup](./docker.mdx). This is because Continuwuity can be fully configured using environment variables. A sample `StatefulSet` is shared below. The only thing missing is a PVC definition (named `continuwuity-data`) for the volume mounted to the `StatefulSet`, an Ingress resources to point your webserver to the Continuwuity Pods, and a Service resource (targeting `app.kubernetes.io/name: continuwuity`) to glue the Ingress and Pod together. Carefully go through the `env` section and add, change, and remove any env vars you like using the [Configuration reference](https://continuwuity.org/reference/config.html) ```yaml apiVersion: apps/v1 kind: StatefulSet metadata: name: continuwuity namespace: matrix labels: app.kubernetes.io/name: continuwuity spec: replicas: 1 serviceName: continuwuity podManagementPolicy: Parallel selector: matchLabels: app.kubernetes.io/name: continuwuity template: metadata: labels: app.kubernetes.io/name: continuwuity spec: securityContext: sysctls: - name: net.ipv4.ip_unprivileged_port_start value: "0" containers: - name: continuwuity # use a sha hash <3 image: forgejo.ellis.link/continuwuation/continuwuity:latest command: ["/sbin/conduwuit"] imagePullPolicy: IfNotPresent ports: - name: http containerPort: 80 volumeMounts: - mountPath: /data name: data subPath: data securityContext: capabilities: add: - NET_BIND_SERVICE env: - name: TOKIO_WORKER_THREADS value: "2" - name: CONTINUWUITY_SERVER_NAME value: "example.com" - name: CONTINUWUITY_DATABASE_PATH value: "/data/db" - name: CONTINUWUITY_DATABASE_BACKEND value: "rocksdb" - name: CONTINUWUITY_PORT value: "80" - name: CONTINUWUITY_MAX_REQUEST_SIZE value: "20000000" - name: CONTINUWUITY_ALLOW_FEDERATION value: "true" - name: CONTINUWUITY_TRUSTED_SERVERS value: '["matrix.org"]' - name: CONTINUWUITY_ADDRESS value: "0.0.0.0" - name: CONTINUWUITY_ROCKSDB_PARALLELISM_THREADS value: "1" - name: CONTINUWUITY_WELL_KNOWN__SERVER value: "matrix.example.com:443" - name: CONTINUWUITY_WELL_KNOWN__CLIENT value: "https://matrix.example.com" - name: CONTINUWUITY_ALLOW_REGISTRATION value: "false" - name: CONTINUWUITY_LOG value: info readinessProbe: httpGet: path: /_matrix/federation/v1/version port: http periodSeconds: 4 failureThreshold: 5 resources: # Continuwuity might use quite some RAM :3 requests: cpu: "2" memory: "512Mi" limits: cpu: "4" memory: "2048Mi" volumes: - name: data persistentVolumeClaim: claimName: continuwuity-data ``` --- ## Community maintained Helm Chart Apart from manually configuring the containers, you can consult a community-maintained Helm Chart for the former `conduwuit` project, which is available [here][community-helm-chart]. [community-helm-chart]: https://gitlab.cronce.io/charts/conduwuit This should be compatible with Continuwuity, but you will need to switch the image reference. If changes are needed to be made, please reach out to the maintainer of that repository, as it is not maintained nor controlled by the Continuwuity maintainers. ## Post-installation After successfully setting up your Continuwuity, navigate to [Post-installation](../deploying.mdx#post-installation) for next steps.