# Immich Photo library with its own vector-enabled PostgreSQL and machine-learning service. This database is separate from the shared PostgreSQL instance. Keep the server and machine-learning versions aligned when upgrading. Kubernetes bind-mounts `/mnt/immich/library` from the node. That directory must already exist and contain the intended library; moving the pod to a different node does not move the files. PostgreSQL and Valkey use StatefulSet storage, and the model cache has its own PVC. Compose reads `UPLOAD_LOCATION` and `DB_DATA_LOCATION` from `.env`. The example uses the same library path as Kubernetes. Run one writer against that library; do not start both deployments as independent instances over the same files. Back up the library and a consistent database dump together. The model cache can be rebuilt; the photo database cannot. ## Inspect From the repository root: ```sh kubectl get pods,svc,pvc -n immich kubectl get events -n immich --sort-by=.metadata.creationTimestamp ``` See the [repository README](../README.md) for deployment selection.