From 19cb90701ee9440fd98024881c118985f3277fb9 Mon Sep 17 00:00:00 2001
From: Ryan Holt <ryan@ryanholt.net>
Date: Mon, 30 Nov 2020 16:42:46 -0500
Subject: [PATCH] initial commit for base photoprism files

Signed-off-by: Ryan Holt <ryan@ryanholt.net>
---
 charts/photoprism/Chart.yaml            | 22 +++++++
 charts/photoprism/OWNERS                |  8 +++
 charts/photoprism/README.md             | 78 +++++++++++++++++++++++++
 charts/photoprism/ci/ct-values.yaml     |  2 +
 charts/photoprism/templates/NOTES.txt   |  1 +
 charts/photoprism/templates/common.yaml |  1 +
 charts/photoprism/values.yaml           | 24 ++++++++
 7 files changed, 136 insertions(+)
 create mode 100644 charts/photoprism/Chart.yaml
 create mode 100644 charts/photoprism/OWNERS
 create mode 100644 charts/photoprism/README.md
 create mode 100644 charts/photoprism/ci/ct-values.yaml
 create mode 100644 charts/photoprism/templates/NOTES.txt
 create mode 100644 charts/photoprism/templates/common.yaml
 create mode 100644 charts/photoprism/values.yaml

diff --git a/charts/photoprism/Chart.yaml b/charts/photoprism/Chart.yaml
new file mode 100644
index 00000000..0194a80e
--- /dev/null
+++ b/charts/photoprism/Chart.yaml
@@ -0,0 +1,22 @@
+apiVersion: v2
+appVersion: master
+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..c6d8a11b
--- /dev/null
+++ b/charts/photoprism/README.md
@@ -0,0 +1,78 @@
+# 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)**
+
+## TL;DR;
+
+```shell
+$ helm repo add k8s-at-home https://k8s-at-home.com/charts/
+$ helm install k8s-at-home/sonarr
+```
+
+## 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/sonarr
+```
+Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the
+chart. For example,
+```console
+helm install sonarr 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.
+
+### Upgrading from 6.x.x to 7.x.x
+
+Due to migrating to a centralized common library some values in `values.yaml` have changed.
+
+Examples:
+
+* `service.port` has been moved to `service.port.port`.
+* `persistence.type` has been moved to `controllerType`.
+
+Refer to the library values.yaml for more configuration options.
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..1ce60e57
--- /dev/null
+++ b/charts/photoprism/values.yaml
@@ -0,0 +1,24 @@
+# Default values for PhotoPrism.
+
+image:
+  repository: photoprism/photoprism
+  pullPolicy: IfNotPresent
+  tag: "20201122"
+
+strategy:
+  type: Recreate
+
+service:
+  port:
+    port: 2342
+
+env: {}
+  # PHOTOPRISM_SITE_URL: https://photos.mydomain.com
+  # PHOTOPRISM_SITE_TITLE: My Photos
+  # PHOTOPRISM_SITE_CAPTION: My Awesome Photos!
+  # PHOTOPRISM_SITE_DESCRIPTION: This Page hosts pictures for my friends and family!
+
+persistence:
+  config:
+    enabled: false
+    emptyDir: false