--- apiVersion: apps/v1 kind: Deployment metadata: name: invidious namespace: default spec: replicas: 1 selector: matchLabels: app: invidious template: metadata: labels: app: invidious spec: initContainers: - name: substitute-config image: alpine envFrom: - secretRef: name: invidious-secrets command: - sh - -c - apk add gettext && envsubst < /mnt/init/invidious.yml > /mnt/invidious.yml volumeMounts: - name: invidious-config mountPath: /mnt/init/invidious.yml subPath: invidious.yml - name: tmp mountPath: /mnt subPath: invidious.yml - name: clean-db-dir image: busybox command: - sh - -c - | rm -rf /var/lib/postgresql/data/lost+found volumeMounts: - name: postgres-data mountPath: /var/lib/postgresql/data - name: postgres image: postgres:15.13 restartPolicy: Always env: - name: POSTGRES_DB valueFrom: secretKeyRef: name: invidious-db-secrets key: postgres-db - name: POSTGRES_USER valueFrom: secretKeyRef: name: invidious-db-secrets key: postgres-user - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: name: invidious-db-secrets key: postgres-password volumeMounts: - name: postgres-data mountPath: /var/lib/postgresql/data - name: inv-sig-helper image: quay.io/invidious/inv-sig-helper@sha256:b5466c9add729e82e4e3ee5515c30b69df02d78ebb2486dbc9c63e456f29083d restartPolicy: Always args: ["--tcp", "0.0.0.0:12999"] env: - name: RUST_LOG value: "info" securityContext: readOnlyRootFilesystem: true capabilities: drop: - ALL containers: - name: invidious image: quay.io/invidious/invidious@sha256:9ffa4f1ea5cf01abe3102777102bd7a13153c79f6ff6ac072b6a29dda6909a8b command: - sh - -c - | export INVIDIOUS_CONFIG="$(cat /mnt/invidious.yml)" && exec /invidious/invidious env: - name: INVIDIOUS_PORT value: "3000" ports: - containerPort: 3000 volumeMounts: - name: logging mountPath: /var/log/invidious - name: tmp mountPath: /mnt subPath: invidious.yml volumes: - name: logging emptyDir: {} - name: tmp emptyDir: {} - name: invidious-config configMap: name: invidious-config - name: postgres-data persistentVolumeClaim: claimName: longhorn-invidious-config