docs: improve readmes and add example
This commit is contained in:
parent
e8efe7fcad
commit
092905c9d4
6 changed files with 136 additions and 6 deletions
13
README.md
13
README.md
|
@ -1,4 +1,17 @@
|
||||||
# helm-charts
|
# helm-charts
|
||||||
Contains Helm charts maintained by myself.
|
Contains Helm charts maintained by myself.
|
||||||
|
|
||||||
|
> [!INFO]
|
||||||
|
> The code is provided as-is with no warranties.
|
||||||
|
|
||||||
See the README.md in each chart directory for more information.
|
See the README.md in each chart directory for more information.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
You can add this repository to your [Helm](https://helm.sh/) installation by running the following command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
helm repo add secustor https://secustor.dev/helm-charts
|
||||||
|
helm install my-release secustor/<chart>
|
||||||
|
# or directly the OCI registry
|
||||||
|
helm install my-release oci://ghcr.io/secustor/helm-charts/<chart>
|
||||||
|
```
|
||||||
|
|
|
@ -1,9 +1,55 @@
|
||||||
# Immich
|
# Immich
|
||||||
|
|
||||||
> [!WARNING]
|
|
||||||
> This chart is in alpha state and should be used with care.
|
|
||||||
> It is under heavy development.
|
|
||||||
|
|
||||||
|
|
||||||
This chart deploys [Immich](https://immich.app/) and
|
This chart deploys [Immich](https://immich.app/) and
|
||||||
is targeted at an audience which wants to have some lower level control over the deployment.
|
is targeted at an audience which wants to have some lower level control over the deployment.
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
This chart requires:
|
||||||
|
- a PostgreSQL database with `pgvector` or `pgvector.rs` extension installed
|
||||||
|
- a Redis instance
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
You can install this chart by running the following command:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
helm repo add secustor https://secustor.dev/helm-charts
|
||||||
|
helm install my-release secustor/immich
|
||||||
|
# or directly the OCI registry
|
||||||
|
helm install my-release oci://ghcr.io/secustor/helm-charts/immich
|
||||||
|
```
|
||||||
|
|
||||||
|
## Example
|
||||||
|
This example assumes that the CloudNativePG operator has been deployed and configured.
|
||||||
|
|
||||||
|
You will:
|
||||||
|
- Create secrets for PostgreSQL and Redis
|
||||||
|
- Request a PostgreSQL instance with the `pgvector` extension
|
||||||
|
- Deploy a Redis instance
|
||||||
|
- Deploy Immich
|
||||||
|
|
||||||
|
value files can be found in the [`example`](./example) directory.
|
||||||
|
|
||||||
|
### PostgreSQL
|
||||||
|
This assumes you have [CloudNativePG](https://cloudnative-pg.io/)
|
||||||
|
installed and configured.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
kubectl create -f example/postgres.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
### Redis
|
||||||
|
Create the static password secret for Redis.
|
||||||
|
```bash
|
||||||
|
kubectl create -f example/redis-secret.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
Install the Redis chart.
|
||||||
|
```bash
|
||||||
|
helm install immich-redis registry-1.docker.io/bitnamicharts/redis -f example/redis-values.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
### Immich
|
||||||
|
Install the Immich chart.
|
||||||
|
```bash
|
||||||
|
helm install immich oci://ghcr.io/secustor/helm-charts/immich -f example/immich-values.yaml
|
||||||
|
```
|
||||||
|
|
27
charts/immich/example/immich-values.yaml
Normal file
27
charts/immich/example/immich-values.yaml
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
common:
|
||||||
|
config:
|
||||||
|
vectorExtension: pgvector
|
||||||
|
postgres:
|
||||||
|
host: immich-db-rw
|
||||||
|
existingSecret:
|
||||||
|
enabled: true
|
||||||
|
secretName: immich-db-immich
|
||||||
|
usernameKey: username
|
||||||
|
passwordKey: password
|
||||||
|
redis:
|
||||||
|
host: immich-redis-master
|
||||||
|
existingSecret:
|
||||||
|
enabled: true
|
||||||
|
secretName: immich-redis-access
|
||||||
|
passwordKey: password
|
||||||
|
server:
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /usr/src/app/upload
|
||||||
|
name: uploads
|
||||||
|
volumes:
|
||||||
|
- name: uploads
|
||||||
|
hostPath:
|
||||||
|
path: /data/media/immich
|
||||||
|
type: Directory
|
||||||
|
machineLearning:
|
||||||
|
enabled: true
|
32
charts/immich/example/postgres.yaml
Normal file
32
charts/immich/example/postgres.yaml
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: immich-db-immich
|
||||||
|
type: Opaque
|
||||||
|
stringData:
|
||||||
|
username: "an-user"
|
||||||
|
password: "a-password"
|
||||||
|
---
|
||||||
|
apiVersion: postgresql.cnpg.io/v1
|
||||||
|
kind: Cluster
|
||||||
|
metadata:
|
||||||
|
name: immich-db
|
||||||
|
spec:
|
||||||
|
imageName: ghcr.io/cloudnative-pg/postgresql:17.2-bookworm
|
||||||
|
instances: 1
|
||||||
|
storage:
|
||||||
|
size: 15Gi
|
||||||
|
bootstrap:
|
||||||
|
initdb:
|
||||||
|
database: immich
|
||||||
|
owner: immich
|
||||||
|
secret:
|
||||||
|
name: immich-db-immich
|
||||||
|
managed:
|
||||||
|
roles:
|
||||||
|
- name: immich
|
||||||
|
createdb: true
|
||||||
|
login: true
|
||||||
|
superuser: true
|
||||||
|
passwordSecret:
|
||||||
|
name: immich-db-immich
|
7
charts/immich/example/redis-secret.yaml
Normal file
7
charts/immich/example/redis-secret.yaml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: immich-redis-access
|
||||||
|
type: Opaque
|
||||||
|
stringData:
|
||||||
|
password: "a-password"
|
5
charts/immich/example/redis-values.yaml
Normal file
5
charts/immich/example/redis-values.yaml
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
architecture: standalone
|
||||||
|
auth:
|
||||||
|
enabled: true
|
||||||
|
existingSecret: immich-redis-access
|
||||||
|
existingSecretPasswordKey: password
|
Loading…
Add table
Add a link
Reference in a new issue