diff --git a/charts/photoprism/Chart.yaml b/charts/photoprism/Chart.yaml new file mode 100644 index 00000000..8bde5b05 --- /dev/null +++ b/charts/photoprism/Chart.yaml @@ -0,0 +1,22 @@ +apiVersion: v2 +appVersion: "20201122" +description: PhotoPrism® is a server-based application for browsing, organizing and sharing your personal photo collection +name: photoprism +version: 1.0.0 +keywords: + - photos + - photoprism + - pictures + - sharing +home: https://github.com/k8s-at-home/charts/tree/master/charts/photoprism +icon: https://demo.photoprism.org/static/img/logo-avatar.svg +sources: + - https://github.com/photoprism/photoprism + - https://hub.docker.com/r/photoprism/photoprism +maintainers: + - name: billimek + email: jeff@billimek.com +dependencies: + - name: common + repository: https://k8s-at-home.com/charts/ + version: 1.7.0 diff --git a/charts/photoprism/OWNERS b/charts/photoprism/OWNERS new file mode 100644 index 00000000..1ce35762 --- /dev/null +++ b/charts/photoprism/OWNERS @@ -0,0 +1,8 @@ +approvers: +- billimek +- onedr0p +- bjw-s +reviewers: +- billimek +- onedr0p +- bjw-s diff --git a/charts/photoprism/README.md b/charts/photoprism/README.md new file mode 100644 index 00000000..375b1133 --- /dev/null +++ b/charts/photoprism/README.md @@ -0,0 +1,69 @@ +# Photoprism + +This is a helm chart for [PhotoPrism](https://github.com/photoprism/photoprism). + +**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/k8s-at-home/charts/issues/new/choose)** + +This chart requires heavy customization of the `env: {}` block within values.yaml to configure the service to operate properly. See the PhotoPrism [documentation](https://docs.photoprism.org/getting-started/config-options/) for available config options. + +## TL;DR; + +```shell +$ helm repo add k8s-at-home https://k8s-at-home.com/charts/ +$ helm install k8s-at-home/photoprism +``` + +## Installing the Chart + +To install the chart with the release name `my-release`: + +```console +helm install --name my-release k8s-at-home/photoprism +``` + +## Uninstalling the Chart + +To uninstall/delete the `my-release` deployment: + +```console +helm delete my-release --purge +``` + +The command removes all the Kubernetes components associated with the chart and deletes the release. + +## Configuration +Read through the charts [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/photoprism/values.yaml) +file. It has several commented out suggested values. +Additionally you can take a look at the common library [values.yaml](https://github.com/k8s-at-home/charts/blob/master/charts/common/values.yaml) for more (advanced) configuration options. + +Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example, +```console +helm install photoprism \ + --set env.TZ="America/New_York" \ + k8s-at-home/photoprism +``` +Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the +chart. For example, +```console +helm install photoprism k8s-at-home/photoprism --values values.yaml +``` + +```yaml +image: + tag: ... +``` + +--- +**NOTE** + +If you get +```console +Error: rendered manifests contain a resource that already exists. Unable to continue with install: existing resource conflict: ...` +``` +it may be because you uninstalled the chart with `skipuninstall` enabled, you need to manually delete the pvc or use `existingClaim`. + +--- + +## Upgrading an existing Release to a new major version + +A major chart version change (like 4.0.1 -> 5.0.0) indicates that there is an incompatible breaking change potentially needing manual actions. diff --git a/charts/photoprism/ci/ct-values.yaml b/charts/photoprism/ci/ct-values.yaml new file mode 100644 index 00000000..f6ccc628 --- /dev/null +++ b/charts/photoprism/ci/ct-values.yaml @@ -0,0 +1,2 @@ +ingress: + enabled: true diff --git a/charts/photoprism/templates/NOTES.txt b/charts/photoprism/templates/NOTES.txt new file mode 100644 index 00000000..90f7b653 --- /dev/null +++ b/charts/photoprism/templates/NOTES.txt @@ -0,0 +1 @@ +{{- include "common.notes.defaultNotes" . -}} diff --git a/charts/photoprism/templates/common.yaml b/charts/photoprism/templates/common.yaml new file mode 100644 index 00000000..a6613c2c --- /dev/null +++ b/charts/photoprism/templates/common.yaml @@ -0,0 +1 @@ +{{ include "common.all" . }} diff --git a/charts/photoprism/values.yaml b/charts/photoprism/values.yaml new file mode 100644 index 00000000..cbd67a6f --- /dev/null +++ b/charts/photoprism/values.yaml @@ -0,0 +1,53 @@ +# Default values for PhotoPrism. + +image: + repository: photoprism/photoprism + pullPolicy: IfNotPresent + tag: "20201122" + +strategy: + type: Recreate + +service: + port: + port: 2342 + +env: + PHOTOPRISM_STORAGE_PATH: /photoprism/storage + PHOTOPRISM_ORIGINALS_PATH: /photoprism/originals + ## See other config options from PhotoPrism documentation: https://docs.photoprism.org/getting-started/config-options/ + # PHOTOPRISM_ADMIN_PASSWORD: "please-change" # Initial admin password: PLEASE CHANGE! + # PHOTOPRISM_DEBUG: "false" # Run in debug mode (shows additional log messages) + # PHOTOPRISM_PUBLIC: "false" # No authentication required (disables password protection) + # PHOTOPRISM_READONLY: "false" # Don't modify originals directory (reduced functionality) + # PHOTOPRISM_EXPERIMENTAL: "false" # Enable experimental features + # PHOTOPRISM_SITE_URL: "http://localhost:2342/" # Canonical / public site URL + # PHOTOPRISM_SITE_TITLE: "PhotoPrism" + # PHOTOPRISM_SITE_CAPTION: "Browse Your Life" + # PHOTOPRISM_SITE_DESCRIPTION: "" + # PHOTOPRISM_SITE_AUTHOR: "" + # # You may optionally set user, group and/or file permissions using environment variables: + # UID: 1000 + # GID: 1000 + # UMASK: 0000 + +persistence: + config: + enabled: false + emptyDir: false + mountPath: /photoprism/storage + + originals: + enabled: false + emptyDir: false + mountPath: "/photoprism/originals" + # readOnly: true + + # additionalVolumeMounts: + # - name: originals + # mountPath: "/photoprism/originals" + # readOnly: true + # additionalVolumes: + # - name: originals + # persistentVolumeClaim: + # claimName: nfs-pictures-pvc