Josh Bicking пре 2 дана
родитељ
комит
add61fa72b
6 измењених фајлова са 7 додато и 246 уклоњено
  1. 7 0
      README.md
  2. 0 15
      immich/ingress.yaml
  3. 0 20
      immich/pvc.yaml
  4. 0 106
      immich/values.yaml
  5. 0 21
      paperless-pvc.yaml
  6. 0 84
      paperless.yaml

+ 7 - 0
README.md

@@ -367,6 +367,12 @@ KUBECONFIG=/etc/rancher/k3s/k3s.yaml helm install openebs --namespace openebs op
 
 This is a nice PVC option for simpler backup target setups.
 
+# proxmox networking issues
+
+Using docker on a proxmox host can break LXC & VM networking.
+
+https://forum.proxmox.com/threads/proxmox-vm-networking-is-bust-after-restart.166637/post-773461
+
 # TODO
 
 - [X] move to https://argo-workflows.readthedocs.io/en/latest/quick-start/
@@ -375,6 +381,7 @@ This is a nice PVC option for simpler backup target setups.
 - [x] rook CSI snapshots https://rook.io/docs/rook/v1.19/Storage-Configuration/Ceph-CSI/ceph-csi-snapshot/
 - [ ] velero CSI snapshots https://velero.io/docs/v1.17/csi/
   - [ ] Way to use cephfs shallow snapshots in velero: https://github.com/ceph/ceph-csi/blob/devel/docs/design/proposals/cephfs-snapshot-shallow-ro-vol.md
+    Alternatively: ensure cephfs vols aren't included, & just let duplicati handle it.
 - redo backup target
   - [x] argocd + lan ui domain
     - I think about my backup target way less often, IaC would be very helpful for it

+ 0 - 15
immich/ingress.yaml

@@ -1,15 +0,0 @@
-apiVersion: traefik.containo.us/v1alpha1
-kind: IngressRoute
-metadata:
-  name: immich
-  namespace: immich
-spec:
-  entryPoints:
-  - websecure
-  routes:
-  - kind: Rule
-    match: Host(`immich.jibby.org`)
-    services:
-    - kind: Service
-      name: immich-server
-      port: 3001

+ 0 - 20
immich/pvc.yaml

@@ -1,20 +0,0 @@
----
-apiVersion: v1
-kind: Namespace
-metadata:
-    name: immich
----
-apiVersion: v1
-kind: PersistentVolumeClaim
-metadata:
-  name: immich-pvc
-  namespace: immich
-  labels:
-    app: immich
-spec:
-  storageClassName: ceph-block
-  accessModes:
-    - ReadWriteOnce
-  resources:
-    requests:
-      storage: 300Gi

+ 0 - 106
immich/values.yaml

@@ -1,106 +0,0 @@
-# for immich 0.3.1
-## This chart relies on the common library chart from bjw-s
-## You can find it at https://github.com/bjw-s/helm-charts/tree/main/charts/library/common
-## Refer there for more detail about the supported values
-
-# These entries are shared between all the Immich components
-
-env:
-  LOG_LEVEL: 'debug'
-  TZ: 'America/New_York'
-  REDIS_HOSTNAME: '{{ printf "%s-redis-master" .Release.Name }}'
-  DB_HOSTNAME: "{{ .Release.Name }}-postgresql"
-  DB_USERNAME: "{{ .Values.postgresql.global.postgresql.auth.username }}"
-  DB_DATABASE_NAME: "{{ .Values.postgresql.global.postgresql.auth.database }}"
-  # -- You should provide your own secret outside of this helm-chart and use `postgresql.global.postgresql.auth.existingSecret` to provide credentials to the postgresql instance
-  DB_PASSWORD: "{{ .Values.postgresql.global.postgresql.auth.password }}"
-  IMMICH_MACHINE_LEARNING_URL: '{{ printf "http://%s-machine-learning:3003" .Release.Name }}'
-
-image:
-  tag: v1.91.4
-
-immich:
-  persistence:
-    # Main data store for all photos shared between different components.
-    library:
-      # Automatically creating the library volume is not supported by this chart
-      # You have to specify an existing PVC to use
-      existingClaim: immich-pvc
-
-# Dependencies
-
-postgresql:
-  enabled: true
-  image:
-    repository: tensorchord/pgvecto-rs
-    tag: pg14-v0.1.11
-  global:
-    postgresql:
-      auth:
-        username: immich
-        database: immich
-        password: immich
-  primary:
-    persistence:
-      size: 8Gi
-      storageClass: ceph-block
-    initdb:
-      scripts:
-        create-extensions.sql: |
-          CREATE EXTENSION cube;
-          CREATE EXTENSION earthdistance;
-          CREATE EXTENSION vectors;
-
-redis:
-  enabled: true
-  architecture: standalone
-  auth:
-    enabled: false
-  master:
-    persistence:
-      size: 8Gi
-      storageClass: ceph-block
-
-# Immich components
-
-server:
-  enabled: true
-  image:
-    repository: ghcr.io/immich-app/immich-server
-    pullPolicy: IfNotPresent
-
-  ingress:
-    main:
-      enabled: false
-      annotations:
-        # proxy-body-size is set to 0 to remove the body limit on file uploads
-        nginx.ingress.kubernetes.io/proxy-body-size: "0"
-      hosts:
-        - host: immich.local
-          paths:
-            - path: "/"
-      tls: []
-
-microservices:
-  enabled: true
-  image:
-    repository: ghcr.io/immich-app/immich-server
-    pullPolicy: IfNotPresent
-
-machine-learning:
-  enabled: true
-  image:
-    repository: ghcr.io/immich-app/immich-machine-learning
-    pullPolicy: IfNotPresent
-  env:
-    TRANSFORMERS_CACHE: /cache
-  persistence:
-    cache:
-      enabled: true
-      size: 10Gi
-      # Optional: Set this to pvc to avoid downloading the ML models every start.
-      type: pvc
-      accessMode: ReadWriteOnce
-      storageClass: ceph-block
-  podAnnotations:
-    backup.velero.io/backup-volumes-excludes: cache

+ 0 - 21
paperless-pvc.yaml

@@ -1,21 +0,0 @@
----
-apiVersion: v1
-kind: Namespace
-metadata:
-    name: paperless
----
-apiVersion: v1
-kind: PersistentVolumeClaim
-metadata:
-  name: paperless-pvc
-  namespace: paperless
-  labels:
-    app: paperless
-spec:
-  storageClassName: ceph-block-ssd
-  accessModes:
-    - ReadWriteOnce
-  resources:
-    requests:
-      storage: 10Gi
-

+ 0 - 84
paperless.yaml

@@ -1,84 +0,0 @@
----
-apiVersion: v1
-kind: Namespace
-metadata:
-    name: paperless
----
-apiVersion: apps/v1
-kind: Deployment
-metadata:
-  name: paperless
-  namespace: paperless
-spec:
-  strategy:
-    type: Recreate
-  selector:
-    matchLabels:
-      app: paperless
-  replicas: 1
-  template:
-    metadata:
-      labels:
-        app: paperless
-    spec:
-      containers:
-      - name: paperless
-        image: ghcr.io/paperless-ngx/paperless-ngx:latest
-        imagePullPolicy: Always
-        ports:
-        - containerPort: 8000
-          name: http-web-svc
-        volumeMounts:
-        - mountPath: "/usr/src/paperless/data"
-          name: data
-          subPath: data
-        - mountPath: "/usr/src/paperless/media"
-          name: data
-          subPath: media
-        - mountPath: "/usr/src/paperless/export"
-          name: data
-          subPath: export
-        - mountPath: "/usr/src/paperless/consume"
-          name: data
-          subPath: consume
-        env:
-        - name: PAPERLESS_REDIS
-          valueFrom:
-            secretKeyRef:
-              name: paperless-secret
-              key: PAPERLESS_REDIS
-        - name: PAPERLESS_DBHOST
-          value: postgres-postgresql.postgres.svc.cluster.local
-        - name: PAPERLESS_URL
-          value: https://paperless.jibby.org
-        - name: POSTGRES_DB
-          value: paperless
-        - name: PAPERLESS_DBUSER
-          valueFrom:
-            secretKeyRef:
-              name: paperless-secret
-              key: PAPERLESS_DBUSER
-        - name: PAPERLESS_DBPASS
-          valueFrom:
-            secretKeyRef:
-              name: paperless-secret
-              key: PAPERLESS_DBPASS
-      volumes:
-      - name: data
-        persistentVolumeClaim:
-          claimName: paperless-pvc
----
-apiVersion: v1
-kind: Service
-metadata:
-  name: paperless-service
-  namespace: paperless
-spec:
-  selector:
-    app: paperless
-  type: ClusterIP
-  ports:
-  - name: paperless-web-port
-    protocol: TCP
-    port: 8000
-    targetPort: http-web-svc