This is an unofficial Helm chart for the Pretix event ticketing software.
You can install this using Helm, make sure you have the repo setup. You likely want to change your values as well.
helm repo add techwolf12 https://helm.techwolf12.nl/
helm repo update
helm install pretix techwolf12/pretix
If you want to install custom plugins, your best bet is to create a custom docker image for now. A example Dockerfile for this is:
FROM pretix/standalone:stable
USER root
RUN pip3 install pretix-passbook
USER pretixuser
RUN cd /pretix/src && make production
You can then override image.repository and image.tag with your values.
By default, this chart installs additional, dependent charts:
- postgresql
- redis
To disable this dependency during installation, set postgresql.enabled and redis.enabled to false.
helm uninstall pretix
This removes all the Kubernetes components and deletes the release, it is worthy to note that Postgresql still leaves your database as PVC, you might have to remove this manually if you desire so.
helm upgrade pretix techwolf12/pretix --install
Breaking changes will be listed below.
| Name | Description | Default Value |
|---|---|---|
| image.repository | The Pretix Docker repository you want to use, useful if you want custom plugins installed | pretix/standalone |
| image.tag | The Pretix Docker tag you want to use, useful if you want custom plugins installed | Helm chart version, matching the Pretix release version |
| image.pullPolicy | When you want Kubernetes to pull the Docker image | IfNotPresent |
| image.pullSecrets | Docker secret names as array, if your custom repo needs authentication to read | [] |
| Name | Description | Default Value |
|---|---|---|
| replicas.pretixWeb | How many Pretix Web instances you want running | 1 |
| replicas.pretixWorker | How many Pretix Worker instances you want running | 1 |
| Name | Description | Default Value |
|---|---|---|
| cronSchedule | Schedule for when to run the Pretix cron | */30 * * * * |
See all possible config variables on the Pretix documentation site.
The syntax is PRETIX_SECTION_CONFIG. For example, to configure the setting password_reset from the [pretix] section, set PRETIX_PRETIX_PASSWORD_RESET: off in your environment.
| Name | Description | Default Value |
|---|---|---|
| env.PRETIX_PRETIX_INSTANCE_NAME | Name of your Pretix instance | Pretix Helm |
| env.PRETIX_PRETIX_URL | URL on how to access it | http://localhost |
| env.PRETIX_PRETIX_CURRENCY | Currency to use | EUR |
| env.PRETIX_PRETIX_DATADIR | Data directory, should stay on /data unless you change the helm chart as the PVC is mounted here | /data |
| env.PRETIX_PRETIX_TRUST_X_FORWARDED_FOR | Trust ingress proxy forwarded IP | on |
| env.PRETIX_PRETIX_TRUST_X_FORWARDED_PROTO | Trust ingress proxy protocol | on |
| env.PRETIX_MAIL_FROM | Mail send from | [email protected] |
| env.PRETIX_MAIL_HOST | SMTP server | |
| env.PRETIX_MAIL_USER | SMTP Username | |
| env.PRETIX_MAIL_PASSWORD | SMTP Password | |
| env.PRETIX_MAIL_PORT | SMTP port | 587 |
| env.PRETIX_MAIL_TLS | Use TLS | True |
| env.PRETIX_DATABASE_BACKEND | Database backend, defaults to postgresql | postgresql |
| env.PRETIX_DATABASE_NAME | Database name, if using dependecy postgresql, make sure that it matches | pretix |
| env.PRETIX_DATABASE_USER | Database user, if using dependecy postgresql, make sure that it matches | pretix |
| env.PRETIX_DATABASE_PASSWORD | Database password, if using dependecy postgresql, make sure that it matches | pretix |
| env.PRETIX_DATABASE_HOST | Database Hostname, if using dependecy postgresql, this is helm release name-postgresql |
pretix-postgresql |
| env.PRETIX_REDIS_LOCATION | Redis server, if using embedded Redis, this is helm release name-redis-master |
redis://pretix-redis-master/0 |
| env.PRETIX_REDIS_SESSIONS | Should we use Redis for sessions | true |
| env.PRETIX_CELERY_BACKEND | Redis server for Celery backend, if using embedded Redis, this is helm release name-redis-master |
redis://pretix-redis-master/1 |
| env.PRETIX_CELERY_BROKER | Redis server for Celery Broker, if using embedded Redis, this is helm release name-redis-master |
redis://pretix-redis-master/2 |
| Name | Description | Default Value |
|---|---|---|
| labels | Custom labels you want to apply as array | [] |
| Name | Description | Default Value |
|---|---|---|
| resources.limits.memory | Memory limit until Kubernetes restarts the pod | 4096Mi |
| resources.requests.cpu | CPU request for Kubernetes | 0.5 |
| resources.requests.memory | Memory request for Kubernetes | 1024Mi |
| Name | Description | Default Value |
|---|---|---|
| persistence.enabled | If Pretix data should be persistence across upgrades | true |
| persistence.storageClassName | Storage class name | local-path |
| persistence.accessMode | PVC access mode | ReadWriteOnce |
| persistence.size | PVC disk size | 5Gi |
More options can be overridden from the Postgresql chart here.
| Name | Description | Default Value |
|---|---|---|
| postgresql.enabled | If the dependency Postgresql is enabled, set to false if you use your own | true |
| postgresql.auth.database | Pretix database name, make sure it matches in the env | pretix |
| postgresql.auth.username | Pretix database username, make sure it matches in the env | pretix |
| postgresql.auth.password | Pretix database password, make sure it matches in the env | pretix |
| postgresql.auth.postgresPassword | Password for the postgres admin user |
supersecureadminpassword |
More options can be overridden from the Redis chart here.
| Name | Description | Default Value |
|---|---|---|
| redis.enabled | If the dependency Redis is enabled, set to false if you use your own | true |
| redis.architecture | If Redis should run in replica or standalone | standalone |
| redis.auth.enabled | If Redis authentication is enabled | false |
| Name | Description | Default Value |
|---|---|---|
| ingress.enabled | If the ingress is enabled | false |
| ingress.annotations | Annotations to be added to the ingress | {} |
| ingress.ingressClassName | Class name to use for the ingress | "" |
| ingress.hosts[0].host | The host name to be used for the ingress, make sure it matches the Pretix env | pretix.example.com |
| ingress.hosts[0].paths[0].path | The path under the host | / |
| ingress.hosts[0].paths[0].pathType | The pathType of the path under the host | ImplementationSpecific |
| ingress.tls | TLS configuration for the ingress | [] |