thedocks/librephotos-docker/k8s
2023-01-14 17:48:03 +00:00
..
config [add] librephotos 2023-01-14 17:48:03 +00:00
backend.yaml [add] librephotos 2023-01-14 17:48:03 +00:00
db.yaml [add] librephotos 2023-01-14 17:48:03 +00:00
frontend.yaml [add] librephotos 2023-01-14 17:48:03 +00:00
ingress.yaml [add] librephotos 2023-01-14 17:48:03 +00:00
kustomization.yaml [add] librephotos 2023-01-14 17:48:03 +00:00
ns.yaml [add] librephotos 2023-01-14 17:48:03 +00:00
pvcs.yaml [add] librephotos 2023-01-14 17:48:03 +00:00
README.md [add] librephotos 2023-01-14 17:48:03 +00:00
redis.yaml [add] librephotos 2023-01-14 17:48:03 +00:00

Kubernetes Installation

  1. Clone this repo and change to this directory.
  2. Check the values in kustomization.yaml, in the images section, to make sure they're pointing to the latest release.
  3. Consider changing the sizes of the volumes in pvcs.yaml.
  4. Edit the hostnames in ingress.yaml. Consider installing cert-manager and uncommenting the relevant portions of ingress.yaml.
  5. Edit the values in config/backend.env to suit your configuration.
  6. Install these manifests to your cluster with kubectl apply -k ..
  7. Create a secret for PostgreSQL authentication.
    kubectl create secret generic database -n librephotos DB_PASS=$(openssl rand -hex 16) DB_USER=librephotos
    
  8. Create a secret for the backend's key, admin password, and optional MapBox API key.
    kubectl create secret generic backend -n librephotos SECRET_KEY=$key ADMIN_PASSWORD=$password MAPBOX_API_KEY=$apikey
    
    Substitute values for $key, $password, and $apikey. Make sure you remember the $password so you can log in.

If you want, you can watch the Pods get ready with kubectl get pod -n librephotos -w. Once they're all running, point your browser at the hostname from ingress.yaml, and log in as admin.

Upgrading

Change the values in kustomization.yaml, in the images section, to point to the latest versions. Then just rerun the kubectl apply -k . command.