PhotoPrism® Helm Charts

charts.photoprism.app

Our public Helm charts for deploying PhotoPrism on Kubernetes can be found at /photoprism. Customers with a private repository require basic authentication to access it under /<name>. We recommend pinning the --version when installing in production and storing credentials in Kubernetes Secrets or CI secret stores.

Use in Rancher (Apps › Repositories)

PhotoPrism Charts

  1. Open ClusterExploreAppsRepositoriesCreate.
  2. Choose HTTP/HTTPS repository.
  3. Set Index URL to https://charts.photoprism.app/photoprism
  4. Click Create. Charts appear under Apps › Charts.

Private Repositories

  1. Choose HTTP/HTTPS repository.
  2. Set Index URL to your private repository name, e.g. https://charts.photoprism.app/<name>
  3. Enable Authentication and provide the username/token supplied by PhotoPrism.
  4. Create. You will see only the charts licensed to your account.
If your cluster uses a custom CA, add the CA bundle in Rancher when creating the repository.

Helm CLI

PhotoPrism Charts

helm repo add photoprism https://charts.photoprism.app/photoprism
helm repo update
helm search repo photoprism
# Install PhotoPrism® Plus (personal edition):
helm install photoprism-plus photoprism/photoprism-plus --version <version> \
  --namespace photos --create-namespace
# Or install PhotoPrism® Pro (for teams and organizations):
# helm install photoprism-pro photoprism/photoprism-pro --version <version>
# Upgrade later:
helm upgrade photoprism-plus photoprism/photoprism-plus --version <version>
# helm upgrade photoprism-pro photoprism/photoprism-pro --version <version>

Private Repositories

# Method 1: Embed credentials once (shell history may expose them)
helm repo add <name> https://charts.photoprism.app/<name> --username <user> --password <token>

# Method 2: Use a netrc file (preferred on CI)
# ~/.netrc
machine charts.photoprism.app
  login <user>
  password <token>

helm repo add <name> https://charts.photoprism.app/<name>
helm repo update
helm install photoprism acme/photoprism --version <version>
Store credentials securely. Avoid pasting tokens directly into CI logs or shell history.

GitOps Examples (HTTP repository)

Flux

apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: HelmRepository
metadata:
  name: photoprism
  namespace: flux-system
spec:
  url: https://charts.photoprism.app/photoprism
  interval: 10m
---
apiVersion: helm.toolkit.fluxcd.io/v2beta2
kind: HelmRelease
metadata:
  name: photoprism
  namespace: photos
spec:
  chart:
    spec:
      chart: photoprism/photoprism-plus
      version: ">=1.0.0"
      sourceRef:
        kind: HelmRepository
        name: photoprism
  interval: 5m

Flux (Private Repository with Basic Auth)

apiVersion: v1
kind: Secret
metadata:
  name: charts-basic-auth
  namespace: flux-system
type: kubernetes.io/basic-auth
stringData:
  username: <user>
  password: <token>
---
apiVersion: source.toolkit.fluxcd.io/v1beta2
kind: HelmRepository
metadata:
  name: acme
  namespace: flux-system
spec:
  url: https://charts.photoprism.app/<name>
  interval: 10m
  secretRef:
    name: charts-basic-auth

Rancher Fleet

# fleet.yaml (HTTP public)
helm:
  chart: photoprism/photoprism-plus
  repo: https://charts.photoprism.app/photoprism
  version: ">=1.0.0"

# fleet.yaml (customer-specific)
helm:
  chart: photoprism
  repo: https://charts.photoprism.app/<name>
  releaseName: photoprism
  valuesFiles:
    - values.yaml
  # credentials are configured in the Fleet cluster's Secret and referenced in the Repo settings

Endpoints

  • Index: https://charts.photoprism.app/photoprism/index.yaml
  • PhotoPrism Charts: https://charts.photoprism.app/photoprism/
  • Private Repositories: https://charts.photoprism.app/<name>/