Contributions are welcome via GitHub pull requests. This document outlines the process to help get your contribution accepted.
- Fork this repository, develop, and test your changes
- Remember to sign off your commits as described above
- Submit a pull request
NOTE: In order to make testing and merging of PRs easier, please submit changes to multiple charts in separate PRs.
- Must follow Charts best practices.
- Must pass CI jobs for linting and installing changed charts.
- Any change to a chart requires a version bump following semver principles. See Immutability and Versioning below.
Once changes have been merged, the release job will automatically run to package and release changed charts.
Chart releases must be immutable. Any change to a chart warrants a chart version bump even if it is only a change to the documentation.
The chart version
should follow semver.
-
Install
minikube
andhelm
. -
Start a
minikube
cluster viaminikube start
-
Create
PersistentVolumeClaim
by executing following command in shellminikube kubectl -- create -f - <<EOF kind: PersistentVolumeClaim apiVersion: v1 metadata: name: pvc-immich spec: accessModes: - ReadWriteOnce resources: requests: storage: 1Gi EOF
-
From the
charts/immich
directory execute the following command. This will install the dependencies listed inChart.yml
and deploy the current state of the helm chart found locally. If you want to test a branch, make sure to switch to the respective branch first.helm install --dependency-update immich . -f values.yaml --set immich.persistence.library.existingClaim=pvc-immich --set redis.enabled=true --set postgresql.enabled=true
-
Immich is now deployed in
minikube
. To access it, it's port needs to be forwarded first fromminikube
to localhost first viaminikube kubectl -- port-forward svc/immich-server 3001:3001
Now Immich is accessible at http://localhost:3001 and volume contents at
/tmp/hostpath-provisioner/default
. -
Clean resources after testing (can skip
delete pvc
andminikube delete
if testing again, but it's good to test with fresh installation)helm uninstall immich minikube kubectl -- delete pvc pvc-immich data-immich-postgresql-0 redis-data-immich-redis-master-0 minikube stop
-
Delete
minikube
cluster (will delete all cached images and volumes) viaminikube delete