Distribution
Kolab is made available in layers:
- Kolab consist of entirely open-source components, so it is always possible to build Kolab directly from source.
- Kolab is distributed in the form of OCI containers, which can be run in a variety of environments.
- Kolab is provided with a Helm Chart, which can be used to run Kolab on Kubernetes, and includes all dependencies of Kolab.
- The Kolab reference architectures provide VM Images which include everything to run Kolab.
It is recommended to use the Helm Chart or reference architecture VM Images, to make the Kolab deployment as standard as possible, with the least amount of surprises, but you're welcome to build your own, if it suits your needs better.
What is included in the Kolab Helm Chart?
The Kolab Helm Chart is a complete Kolab distribution that includes everything you need to run Kolab in production.
Kolab consists of many components that work together. All these components can be configured separately, with a great deal of flexibility.
The Kolab Helm Chart packages all components via container images and the Chart, into a turnkey solution that brings everything required with it.
This includes Kolab, but also everything that you require to run Kolab in production:
- All required services such as:
- IMAP/CalDAV/CardDAV server (Cyrus)
- SQL database server (MariaDB)
- Cache server (Redis)
- SMTP server (Postfix)
- Spam/Virus checker (Amavis)
- HTTP server (Apache)
- HTTP server/Proxy (NGINX)
- A log aggregation solution based on Vector and Victorialogs
- A monitoring and alerting solution based on Victorialogs/Prometheus and Alertmanager
- An optional integrated Matrix service
- Integrated collaborative editing (Collabora)
- A WebRTC video-conferencing solution (Kolab Meet)
By integrating all services into a Kubernetes deployment it is ensured that the entire solution can be tested and deployed, in the exact same configuration, as many times as desired.
Further benefits:
- The system is described by the values.yaml along with the used images in its entirety. No more manual modifications that nobody knows about or blind spots that are not covered by Ansible. If it's not reproducible, it's not available.
- Configurations that affect multiple components can be centrally managed, and the Helm chart takes care that all required configuration changes happen.
- Kolab on Kubernetes is ideal for a GitOps approach where all changes to the system are tracked in a version control system.
- Kolab on Kubernetes can be used for small single host deployments with k3s or large clustered deployments on Openshift.
- It is possible to integrate existing infrastructure, such as an existing MariaDB cluster, which can make sense if the same infrastructure is already used elsewhere.
Who is this for?
The Kolab Helm Chart is the recommended way to run Kolab. It provides not only the software, but also a defined and recommended overall architecture.
Who is this not for?
Kolab itself is very flexible, and if that flexibility is used in an existing setup to it's full extent, it's possible that the same configuration is currently not supported by the Kolab Helm Chart.