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
|
||||
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.
|
||||
|
||||
## 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
|
||||
|
||||
> [!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
|
||||
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