This Helm chart deploys the ILIAS e-learning platform on a Kubernetes cluster. It supports deploying ILIAS with either a single MariaDB instance or a Galera cluster for high availability. It also includes deployment of the ILIAS RPC server, automatic database backups, and ILIAS cron jobs.
- Kubernetes cluster
- Helm 3
- Add the repository (if you haven't already):
helm repo add ilias-helm https://relaxdays.github.io/ilias-helm/
helm repo update- Install the chart:
helm install ilias ilias-helm/ilias -n <your-namespace># Replace with your release name and namespacehelm uninstall ilias -n <your-namespace># Replace with your release name and namespaceThe following table describes the configurable parameters in the values.yaml file:
| Parameter | Description | Default |
|---|---|---|
ilias.image | ILIAS Docker image name | srsolutions/ilias |
ilias.tag | ILIAS Docker image tag | 9-php8.2-apache |
ilias.port | ILIAS service port | 80 |
ilias.autoSetup | Automatically run ILIAS setup | true |
ilias.autoUpdate | Automatically run ILIAS update (ILIAS >= 7) | 0 |
ilias.devMode | Enable ILIAS development mode | 0 |
ilias.installArguments | Arguments for ILIAS installation | "" |
ilias.updateArguments | Arguments for ILIAS update (ILIAS >= 7) | "" |
ilias.skipUpdate | Skip ILIAS update (ILIAS < 6) | 0 |
ilias.db.host | MariaDB host. If empty, it will be set by the MariaDB chart. | "" |
ilias.db.user | ILIAS database user | ilias |
ilias.db.password | ILIAS database password. Overridden by mariadb.auth.rootPassword if set. | "" |
ilias.db.name | ILIAS database name | ilias |
ilias.db.dump | Path to the ILIAS database dump file | setup/sql/ilias3.sql |
ilias.clientName | ILIAS client name | default |
ilias.hostName | ILIAS host name. Defaults to the pod's hostname. | "" |
ilias.timezone | ILIAS timezone | Europe/Berlin |
ilias.maxUploadSize | Maximum file upload size | 200M |
ilias.errorsPath | Path to ILIAS error logs | /var/iliasdata/ilias/errors |
ilias.memoryLimit | PHP memory limit | 4096M |
ilias.rootPassword | ILIAS root password | "" |
ilias.defaultSkin | Default ILIAS skin | default |
ilias.defaultStyle | Default ILIAS style | delos |
ilias.sessionLifetime | ILIAS session lifetime (in seconds) | 1800 |
ilias.dumpAutoload | Whether to dump autoload files | 0 |
ilias.phpConfig | Custom PHP configuration | See values.yaml |
ilias.clientIni | Custom ILIAS client INI configuration | See values.yaml |
ilias.setupJson | Custom ILIAS setup JSON configuration | See values.yaml |
ilias.iliasIni | Custom ILIAS INI configuration | See values.yaml |
ilias.volumes.data.size | Size of the persistent volume for ILIAS data | 4Gi |
ilias.volumes.data.accessMode | Access mode for the ILIAS data persistent volume | ReadWriteMany |
ilias.volumes.iliasdata.size | Size of the persistent volume for ILIAS data directory | 4Gi |
ilias.volumes.iliasdata.accessMode | Access mode for the ILIAS data directory persistent volume | ReadWriteMany |
ilias.resources.requests.cpu | CPU requests for the ILIAS pod | 200m |
ilias.resources.requests.memory | Memory requests for the ILIAS pod | 4G |
ilias.resources.limits.cpu | CPU limits for the ILIAS pod | 3 |
ilias.resources.limits.memory | Memory limits for the ILIAS pod | 6G |
iliasRPCServer.image | ILIAS RPC server Docker image | srsolutions/ilias-ilserver |
iliasRPCServer.tag | ILIAS RPC server Docker image tag | 9-openjdk17-jre |
iliasRPCServer.nicId | ILIAS RPC server NIC ID | 0 |
iliasRPCServer.logLevel | ILIAS RPC server log level | INFO |
iliasRPCServer.threads | ILIAS RPC server number of threads | 1 |
iliasRPCServer.ramBufferSize | ILIAS RPC server RAM buffer size | 256 |
iliasRPCServer.maxFileSize | ILIAS RPC server maximum file size | 500 |
iliasRPCServer.port | ILIAS RPC server port | 11111 |
iliasRPCServer.iliasIni | ILIAS RPC server ILIAS INI configuration | See values.yaml |
iliasRPCServer.ilServerProperties | ILIAS RPC server properties configuration | See values.yaml |
iliasRPCServer.volumes.lucene.size | Size of the persistent volume for ILIAS RPC server Lucene data | 4Gi |
iliasRPCServer.volumes.lucene.accessMode | Access mode for the ILIAS RPC server Lucene data persistent volume | ReadWriteOnce |
extraVolumes | Array of extra volumes to mount | [] |
extraVolumeMounts | Array of extra volume mounts | [] |
ingress.enabled | Enable Ingress | true |
ingress.annotations | Ingress annotations | See values.yaml |
ingress.hosts | Ingress hosts | See values.yaml |
ingress.tls | Ingress TLS configuration | See values.yaml |
mariadbgalera.enabled | Enable Galera cluster | false |
mariadbgalera.rootUser.password | Galera root user password | "" |
mariadbgalera.db.user | Galera database user | ilias |
mariadbgalera.db.password | Galera database password | "" |
mariadbgalera.db.name | Galera database name | ilias |
mariadbgalera.persistence.enabled | Enable persistence for Galera data | true |
mariadbgalera.persistence.size | Size of the persistent volume for Galera data | 10Gi |
mariadbgalera.galera.mariabackup.password | Password for mariabackup | secret |
mariadbgalera.mariadbConfiguration | Custom MariaDB configuration for Galera | See values.yaml |
mariadb.enabled | Enable single MariaDB instance | true |
mariadb.auth.username | MariaDB user | ilias |
mariadb.auth.password | MariaDB user password | "" |
mariadb.auth.rootPassword | MariaDB root password | "" |
mariadb.auth.database | MariaDB database name | ilias |
mariadb.persistence.enabled | Enable persistence for MariaDB data | true |
mariadb.persistence.size | Size of the persistent volume for MariaDB data | 10Gi |
mariadb.primary.configuration | Custom MariaDB configuration | See values.yaml |
mariadbBackup.enabled | Enable MariaDB backups | true |
mariadbBackup.schedule | Backup schedule (cron expression) | 0 3 * * * |
mariadbBackup.volume.size | Size of Backup volume | 4Gi |
cronjob.enabled | Enables or disables the ILIAS cron job. | true |
cronjob.image | The Docker image to use for the cron job. | srsolutions/ilias |
cronjob.tag | The Docker image tag to use for the cron job. | 9-php8.2-apache |
cronjob.schedule | The schedule for the cron job, using cron expression format. | 0 2 * * * (Daily at 2 AM) |
Many thanks goes to these great projects:
- Ilias by ILIAS open source e-Learning e.V. - https://github.com/ILIAS-eLearning/ILIAS
- Ilias Docker image by srsolutions ag - https://github.com/srsolutionsag/docker-ilias
- Bitnami Helm charts by Broadcom Inc. - https://github.com/bitnami/charts
This project is licensed under GPLv3.