An unofficial helm chart for the szurubooru server.
This chart is not maintained by the upstream project and any issues with the chart should be raised here.
Install the helm chart:
helm repo add my0n https://my0n.github.io/helm-charts
helm repo update
helm install szurubooru-server my0n/szurubooru-server -f values.yaml
Sample values.yaml given below; see values.yaml for more details.
# values.yaml
configuration:
enabled: true
template: |
name: My Self-Hosted Szurubooru
domain: http://${SZURUBOORU_HOST}
secret: ${SZURUBOORU_SECRET}
max_dl_filesize: 10.0E+12
templateEnv:
- name: SZURUBOORU_SECRET
valueFrom:
secretKeyRef:
name: szurubooru-server-salt
key: salt
persistence:
enabled: true
size: 10Gi
postgres:
db: postgres
host: postgresql.default.svc
port: 5432
userSecret:
name: postgresql-credentials
key: user
passwordSecret:
name: postgresql-credentials
key: password
verboseLogs: false
podSecurityContext:
runAsUser: 2000
runAsGroup: 2000
fsGroup: 2000
Example kubernetes secret:
# szurubooru-server-salt.yaml
apiVersion: v1
kind: Secret
metadata:
name: szurubooru-server-salt
namespace: default
type: Opaque
data:
salt: dmVyeXNlY3JldHNhbHQ=
Key | Type | Default | Description |
---|---|---|---|
affinity | object | {} |
Defines affinity constraint rules. Read more about affinity here. |
autoscaling.enabled | bool | false |
Enable the horizontal pod autoscaler. |
autoscaling.maxReplicas | int | 100 |
Max replicas for the horizontal pod autoscaler. |
autoscaling.minReplicas | int | 1 |
Min replicas for the horiziontal pod autoscaler. |
autoscaling.targetCPUUtilizationPercentage | int | 80 |
Target CPU utilization for the horizontal pod autoscaler. |
configuration.enabled | bool | true |
If enabled, provide the config.yaml file to the server. |
configuration.template | string | "" |
Template for an automatically generated config file. Environment variables wrapped in ${} will be replaced. See example above. A more complete example of the config file can be found on the szurubooru repo here. |
configuration.templateEnv | list | [] |
A list of environment variables to use in configuration.templateEnv . See example above. |
fullnameOverride | string | "" |
Override for full name of generated resources. |
image.pullPolicy | string | "IfNotPresent" |
Image pull policy. |
image.repository | string | "szurubooru/server" |
Image repository. |
image.tag | string | "" |
Image tag. |
imagePullSecrets | list | [] |
Secrets for pulling an image. |
ingress.annotations | object | {} |
Provide additional ingress annotations if needed. |
ingress.enabled | bool | false |
Enables or disables the ingress. For the server, this should be left set to false unless you want direct access to the API. |
ingress.host | string | "chart-example.local" |
Host address. |
ingress.path | string | "/" |
Path. |
ingress.pathType | string | "ImplementationSpecific" |
Ignored if not kubeVersion >= 1.18-0 |
ingress.tls | list | [] |
Configure TLS for the ingress. |
nameOverride | string | "" |
Override for name of generated resources. |
nodeSelector | object | {} |
Defines node selection constraints. Read more about nodeSelector here. |
persistence.accessModes[0] | string | "ReadWriteOnce" |
Access mode for generated Persistent Volume Claim. |
persistence.annotations | object | {} |
Annotations for the generated Persistent Volume Claim. |
persistence.enabled | bool | false |
If enabled, a Persistent Volume Claim will either be created or used. If not enabled, the server just uses an emptyDir. |
persistence.existingClaim | string | "" |
Use an existing Persistent Volume Claim. If empty string (default), then a new one will be generated. |
persistence.size | string | "10Gi" |
The size of the generated Persistent Volume Claim. |
persistence.storageClass | string | "" |
The storage class for the generated Persistent Volume Claim. If empty string (default), then the default provisioner will be used. |
podAnnotations | object | {} |
Annotations for the server pod. |
podSecurityContext | object | {} |
Pod security context. |
postgres.db | string | "szurubooru" |
PostgreSQL database. Sets POSTGRES_DB on the server pod. |
postgres.host | string | "" |
PostgreSQL host. Sets POSTGRES_HOST on the server pod. |
postgres.password | string | "" |
PostgreSQL password (overrides postgres.passwordSecret ). Sets POSTGRES_PASSWORD on the server pod. |
postgres.passwordSecret | object | {} |
Existing secret for the PostgreSQL password. Sets POSTGRES_PASSWORD on the server pod. |
postgres.port | int | 5432 |
PostgreSQL port. Sets POSTGRES_PORT on the server pod. |
postgres.user | string | "" |
PostgreSQL username (overrides postgres.userSecret ). Sets POSTGRES_USER on the server pod. |
postgres.userSecret | object | {} |
Existing secret for the PostgreSQL username. Sets POSTGRES_USER on the server pod. |
postgres.verboseLogs | bool | false |
Enable verbose SQL logs. Sets LOG_SQL on the server pod. |
replicaCount | int | 1 |
Number of desired pods. |
resources | object | {} |
Set the resource limits/requests for the pod. |
securityContext | object | {} |
Security context. |
service.port | int | 6666 |
The port for the service. |
service.type | string | "ClusterIP" |
The type of service. |
serviceAccount.annotations | object | {} |
Annotations to add to the service account. |
serviceAccount.create | bool | true |
Specifies whether a service account should be created. |
serviceAccount.name | string | "" |
The name of the service account to use. If not set and serviceAccount.create is true, a name is generated using the fullname template. |
tolerations | list | [] |
Specify taint tolerations. Read more about tolerations here. |